HOW AUTONOMOUS SOFTWARE TESTING COULD CHANGE QA
By George Lawton
Manual testing takes too much time, and test automation scripts need ongoing maintenance. Autonomous testing might provide an answer for teams unwilling to compromise on speed. As enterprises increasingly embrace test automation, AI might enable an even more predictive form of testing that will move the industry forward. AI and, more specifically, machine learning can take test automation to the next level in the form autonomous software testing, a capability that speeds the development of new test cases. As software testers learn technical skills for test automation, particularly how to write scripts, autonomous testing can empower them to be more strategic in their efforts.
Once these tools fulfill their promise and have a proven track record, many software quality engineers will ditch test tools with scripted interfaces.
"Capabilities [of traditional test tools] are going to be so far eclipsed by what these autonomous testing tools can do that you will leave that tool behind," she said.
Different levels of autonomy
Next-generation testing tools incorporate autonomous capabilities in a variety of ways. For one, autonomous software testing forces testers to stray from happy path testing, in which QA executes well-understood test cases that produce an expected result. These tools require testers to learn new skills, such as the identification of edge cases that complement autonomous testing. Lanowitz recommends that testers spend time with line-of-business experts to understand the edge cases most likely to matter for software products.
Although test automation using AI addresses many existing aspects of testing, machine learning tools currently struggle to retain the context of data. But, as tools improve, Lanowitz expects they will help QA engineers scan through large code bases to understand this context in-depth and identify critical areas for test coverage focus. An increase in system simulations adoption could make it easier to test for scenarios before the software product's infrastructure is even in place. These capabilities give testers access to components and services that are incomplete or unavailable at the time of testing. Service virtualization tools, for example, can already simulate APIs under test. Other kinds of simulations could include IoT infrastructure, and components of blockchain applications.
Enterprise uses for autonomous software testing
To start performing autonomous testing, identify test scenarios where rule-based test scripts do not lead to the desired level of result accuracy, said Torsten Volk, analyst at Enterprise Management Associates. Rule-based tests are often time-consuming to write and complex to maintain.