4 minute read
AI: The Future of Testing
AI: THE FUTURE OF TESTING / By Sastri Munsamy, Executive: Research and Development, Consulting, Inspired Testing /
Testing and software quality assurance (SQA) has always been reliant on the human element, particularly in manually-driven exploratory testing and creating automated functional tests. But as we move along the path of integrating elements of Robotic Process Automation (RPA) with artificial intelligence and machine learning, the future of fully automated AI testing is starting to come into view.
Make no mistake, we’re still at
the foothills of unlocking the benefits of meaningful AI-driven automation in software testing. But that’s not to say we aren’t making any headway.
Today’s leading software testing and SQA tools like Selenium have started integrating elements of AI technology, although we’re not at the point where unassisted AI can take over any meaningful testing functionality from human operators. Still, I can see a time where bots will be ready to take the mantle from human testers, initially for low-level repetitive tasks, but eventually for more complex types of testing, and that’s when we’ll see the real benefits of the technology, that’s still in its testing infancy today, come to the fore.
The State of Play
We’re just starting to scratch the surface of injecting quasi-intelligent automation into our testing processes. This is more prevalent in tasks such as minor maintenance on test automation scripts, where basic self-healing AI technology can pick out changes made to user interface fields on pre-existing scripts, and either report or update them automatically.
Indeed, there’s already some interesting work being done linking this type of automation technology to libraries like Healenium, which supports Selenium, adding rudimentary self-healing functionality to the automated tests. It then become quite viable to use tools such as Functionize, with its self-healing, auto-updating features, to identify not just a single field but thousands of data elements, which is the basis for machine learning (ML).
The ideal solution: Agile development + autonomous testing
Another good example of the current state of play is ReportPortal, a tool that ingests test results and uses AI patterns to analyse the nature and changes in these test results over time. Like any AI technology it takes a while until it has enough data to generate meaningful results, but once it does, the results are significant.
Using ReportPortal, we can automatically analyse thousands of test results and no longer need to sift through each failure to determine if it’s a valid defect. Instead, the software automatically and ‘intelligently’ differentiates between valid defects and environmental issues and can then provide valuable trend analysis to determine the impact on current functionality.
As any experienced tester will know, there’s always the issue of changes being made to real world applications that are poorly communicated up and down the line, so using the tools we have today can give SQA and automation teams a way to quickly – and automatically thanks to AI – determine where the changes are, what type of changes they are, and help them narrow their test focus accordingly.
The Road Ahead
All of these examples are early footprints along the road to what I consider the ultimate goal of AI testing: codeless automation. In a nutshell, codeless automation means we’ll no longer need a high level of development capabilities or coding skills to automate testing.
We’re only starting to dabble with technology that uses a GUI front-end to guide us through the process of making test automation repeatable, parameterised and reusable. But while these are the same userdriven wizards we’re already familiar with across many different types of software and platforms, imagine adding real AI technology that can ‘watch’ what a tester is doing, learn from it, and then repeat the process on its own.
Taken a few steps further, I can see a time where data-driven intelligence that links to massive cloud-based data repositories take over currently manual functionality, like assigning real values to field types. Eventually this will evolve into technology we already see in tools like Eggplant, that uses images to automate processes, so instead of working with fields, can intelligently identify images (of buttons or other web elements, for example) and populate them with appropriate data.
AI tools that operate at the API level will greatly accelerate test automation to the point where we can conceivably, and practically, implement continuous testing, something that’s little more than a pipe dream at present. We’ll be able to test quicker, and for longer periods, at lower costs. Moreover, there’s no reason for the technology to be limited to test automation, it will eventually spill over into other types of testing like performance and exploratory testing.
As we continue along the road towards this very real future, AI will drive significant return on investment from speed and time to market, and deliver more value to more clients that no longer have to split their budgets between different types of testing and focus on a collective single offering instead.