Micro Focus is now part of OpenText. Learn more >

You are here

You are here

Why AI is the perfect software testing assistant

Jonathan Alexander CTO, QASymphony

Software testers are highly analytical, creative problem solvers. To identify hidden defects and areas where users might get frustrated, they must ask what others haven't asked and see what others don't see.

But the analytical process takes time, and it isn't always as efficient as today's businesses and the users of their software demand. Artificial intelligence (AI), and its ability to search data sets for golden nuggets, could really come in handy here.

An AI tool could quickly locate tests that have already been written to cover a particular scenario or new line of code. The system could even tell testers which test cases are most appropriate for the requirement.

Over time, an AI tool could even pinpoint what might be causing the bugs that those tests find, based on past data. When combined with testers' wealth of knowledge about the product and its users, AI has the potential to significantly increase testing efficiency. Here's how.

How AI could help testers

Here are some key ways that this technology could evolve to help testers and QA organizations.

  • Identify the highest areas of risk in a sprint, to help testers prioritize: This is especially important when timelines are tight and the wrong decision could lead to an unsuccessful release.
  • Identify which tests to run first when resolving an issue: This shaves the time required to make a fix, thereby minimizing calls into the help desk and reducing revenue loss during an outage or data loss related to a security loophole.
  • Isolate a bug faster and indicate most likely causes: Noting the exact line of code responsible for a glitch is key. That's root-cause analysis at its finest.
  • Comb through databases: Defects, log data, resolution data, and test cases can identify problem areas of a product, allowing testers and developers to be proactive on quality.
  • Perform real-time reporting on defects, issues, and test coverage: The more the team is continually apprised of quality metrics, the better.

Do more with less

AI will likely help developers and testers do more with less, while at the same time making work more fun. Intelligent tools can eliminate the manual and repetitive nature of the testing job.

But rather than replacing testers, AI will help testers get better at predicting where bugs are so they can test those areas. These testers will create test strategies, then use machine learning to create many more tests stemming from the original requirement.

In addition to enabling wider test coverage, AI could also free up time that can be used for the kind of manual, exploratory testing that helps organizations understand how a user will feel—both what they'll enjoy as well as what could frustrate them.

Hire testers for a future with AI

With all of the data AI will make available, organizations will need to hire testers who can create strategies that put this wealth of information to use. A tester's job ultimately boils down to providing information that helps organizations make the most informed decision possible about release readiness. In this sense, AI could become an invaluable tool to ensure organizations deliver quality with each release.

We are beginning to see a few AI-enhanced testing tools hit the market now; initial capabilities include highlighting areas of risk that need further testing or that weren't covered at all. There will be many more advanced tools released in the coming months and years.

But before anyone can make use of these tools, organizations will need to get all the development and test data linked to enable rapid search and analysis, much as Google indexes web pages. It will be imperative to sync data between test-management systems and repositories such as GitHub and Jira.

That might sound like a lot of trouble, so why do it? Users are expecting cleaner products out of the gate. AI can help ensure that. Rapid analysis combined with the expertise of a trained tester brings high-quality products to market more consistently. That’s great for branding.

AI will also save organizations money over time. We all know that defects that make it into production cost significantly more to fix and in some cases cause irreparable damage with users and customers. And testers don’t have time to test every possible scenario, meaning that the one they don't cover could be critical.

Another added benefit of AI testing is that it could help development teams gain a better understanding of what users want and what they don't, with the accuracy generated from analyzing massive streams of usage data. That’s something that expensive focus groups and surveys can never offer, but that can make or break the success of an application.

Keep learning

Read more articles about: App Dev & TestingTesting