AI and Machine Learning to Test Mobile Apps | Sofy

AI and Machine Learning to Test Mobile Apps

It's a wild world out there. A lot is changing—and fast. Now is the time to talk about AI and machine learning to test mobile apps.

Grant Ongstad

UPDATED: January 03, 2024-POSTED: April 20, 2023

The time has come to consider the pros and cons of employing AI and machine learning to test mobile apps.

But first, let’s take a step back. You’ve probably heard that no industry is safe from the far-reaching tentacles of AI.

It’s found an application in nearly every business, from manufacturing to food service to cleaning.

Is it any surprise that it also found a home in mobile application testing?

In this blog, we’ll examine how AI is changing the future of every part of app development, and how AI and Machine learning is being used to test mobile apps.

Artificial Intelligence: How did we get here?

If you’ve been paying attention, the world is in a heated debate over the efficacy, use cases, and moral dilemmas behind AI. For those of us in the software industry, AI isn’t new. Many of us have deployed a chatbot, or used predictive analytics to analyze large datasets. It seems like every software vendor has an AI offering of some sort.

With the release of GPT-3 and GPT-4, the word is effectively out. Everyday people can find a use-case for Artificial intelligence, whether it's making a movie recommendation, writing a screenplay, or doing complex mathematical calculations.

But it goes back even further than that.

A brief history of AI, according to AI

I asked AI the history of AI, here’s what it said:

1950s:

1960s:

1970s:

1980s:

1990s:

2000s:

2010s:

2020s:

As with anything ChatGPT creates, the timeline is good but not great. And the fact is, AI and machine learning are capable of much more than being good at board games:

And, really, that’s just scratching the surface.

A Developer’s Relationship with AI

It seems like most news about AI nowadays is negative.

The popular consensus is that AI is coming for your job. According to a February 2023 survey by ResumeBuilder.com, even the developers aren’t safe:

Based on our survey, currently, 49% of companies say they are using ChatGPT, 93% of whom say they plan to expand their use of the chatbot. Additionally, 30% of companies say they plan to start using it, 85% of whom say they will start doing so within the next 6 months.

The reality? We are seeing that AI is serving to augment developers by assisting with time consuming tasks. AI can generate code from text, analyze patterns in your codebase to create templates, or autocomplete syntax.

As DevOps.com puts it:

It’s hard to say how sophisticated the AI text-creation capabilities will be in the future as the technology ingests more and more examples of our online writing. But I see it having very limited capabilities for programming. If anything, it could end up being just another tool in the developer’s kit to handle tasks that don’t take the critical thinking skills software engineers bring to the table.

And according to TechTarget:

While ChatGPT might replace some aspects of coding, such as writing generic functions or boilerplate code, it won't supplant programmers altogether…That's because a programmer's job requires more than coding.

An Augmented Future

Machine learning tools can look at data from previous software development projects to identify patterns and make predictions about future development projects, helping developers estimate project timelines, identify potential bottlenecks, and optimize the development process.

Application creators leverage machine learning to analyze user behavior and patterns to create more efficient workflows. Even debugging is simplified by AI with algorithms that can analyze code to identify potential bugs and suggest fixes.

Tools like GitHub Copilot can suggest code or functions based on public code. Available as a Visual Studio Code Extension, it adapts to a user’s coding style, and works with various languages and frameworks. Users can select, accept or reject suggestions, and manually edit the code.

This and other AI-powered intelligent assistants can provide developers with real-time assistance and support during the development process.

This can include suggestions for code improvements, answers to common development questions, and guidance on best practices.

SaaS and AI

SaaS providers are including AI in their offerings. Although some of them have been around for a while, we are starting to see them being adopted as organizations collect more data and user behavior metrics. Consider the following:

Artificial Intelligence, Machine Learning, and Testing

AI has been radically transforming software testing as well. ChatGPT can be used to generate test case ideas, analyze test case logic, and even write code snippets in the language of your choice.

The efficacy of ChatGPT for this purpose has been widely criticized as inaccurate and, in inexperienced hands, dangerous:

We do not doubt its benefits to the software testing community, and at the same time, we are aware of the dangers of blindly accepting every output by the software. At best, it is a good heuristic to use, and by nature – heuristics are fallible and not rules. As the output of ChatGPT is heavily reliant on the prompts, it is largely dependent on the skill of the software tester providing the prompts.

I recently wrote about ChatGPT’s ability to write test automation here, where I asked:

Can ChatGPT assist in the composition of test automation? The answer is quite simple: Yes, but not very well—right now. Currently, ChatGPT misses the mark in some big ways. It’s terrible at making assumptions because it has no real insight into your goals. For this reason, it can be the kiss of death for junior developers or testers who can’t identify glaring inaccuracies.

But in the world of AI, ChatGPT is a generalist. Testing SaaS providers have been increasingly leveraging AI in their offerings.

Functions like static code analysis, automatic mocking, code maintenance, and even autocomplete are all offered in test automation platforms.

These tools aid in generating test data, optimizing and analyzing coverage, and managing tests. Machine learning tools have simplified test creation, bridged gaps in testing coverage, and can even update tests to meet new requirements.

The Next Revolution

Nowadays it seems like we’re always in the midst of a revolution. We’ve been talking about the no-code revolution for a while, specifically about how organizations are building their entire development stack with no-code tools.

At Sofy, we aim to bring the power of mobile app testing to everyone, not just developers. Writing complete test cases doesn’t have to be complex. With Sofy, you can create end-to-end test cases without the use of code:

Now, we’re leveraging AI and Machine Learning to test mobile apps by helping write intelligent test automation. Instead of binding UI tests to elements, Sofy uses machine learning and natural language processing to understand the intent behind each test case. It’s a natural fit.

Sofy can also analyze your current codebase, automatically recommend updates to existing test cases, and identify code coverage issues. You can acquire a real device from our hosted device cloud and start recording a test case and automate it across dozens of other devices.

What’s Next?

What’s on the horizon for AI and mobile app testing? The answer is combining the best of both: get a demo today and try it firsthand. and experience these AI enhancements firsthand.

Disclaimer: The views and opinions expressed above are those of the contributor and do not necessarily represent or reflect the official beliefs or positions of Sofy.