The proliferation of AI-based systems, and specifically decision-making systems, constantly raises the question of whether these systems can replace the manual testing process, and the testers.
The answer, as of today, is no.
The part that automation testing is taking from the overall testing process, is growing for years now. Much effort is put into automating any testing that can be automated. The automation software testing tools are constantly improving in speed, as is the ease of writing automated test scripts. Any testing group, and any testing project manager knows it’s important to automate as much testing as possible, to save time and money and to improve the testing results.
AI can, and already is, helping to improve automation testing. Writing/creating scripts, running them, and reporting the results is better done when applying AI systems, designed to test and learn while testing.
There’s no escape (yet?!) from manual testing. Testers are still required to test software. Manual testing is not going anywhere, anytime soon. There are still many tests that only a (human) tester is able to run, and point out their result as a defect, while automation will probably miss them as such.
- Usability testing.
- Predictability: Automated tests are directed to all that is predictable.
- Creativity: Such as applied in Exploratory testing.
- Emotions: Using a software creates user reaction and emotions. Only a human tester can tell you what were his, and where were the defects/problems.
Automation is still far from being able to help in these cases.
The main problem with manual testing, as we all know, is that it takes much time, effort and resources. To write the scripts, maintain and keep them up-to-date with the software changes is a resource-consuming process. Maintaining a high coverage ratio of critical areas of the software is another great challenge testers face.
Perhaps AI-based Automation can reduce time and money spent on this effort?
The potential advantage of AI
AI can script 100 tests in 1/100th of the time a single person could. Source: ciklum.com
We’re already seeing how AI helps with writing and running automation tests. Focus should move now to the question of whether AI can help with the writing of manual test scripts. This alone, leaving the execution and reporting aside, will make a huge difference.
We believe it will get there, sooner than expected. There’s already progress in covering aspects of testing, that were not covered by automation so far, using AI:
- AI systems can identify critical areas in the code
- Visual UI validation tools, which are AI based, are launched
- An AI system can keep the existing (manual) scripts updated (automatically)
A Neural network – Machine learning system will be able to work with any application, and while analyzing, say, a screen, produce a high quality manual test for testing various aspects of this screen. Such a capability will be a significant change in testing. Being able to produce and maintain manual tests automatically, which means a faster and easier process, is a game-changer for the manual part of any software testing project – a part that is bound to stay around for some time.
Are we too optimistic? It doesn’t seem so. There are already existing implementations today:
- Producing a verbal description from an image or a video
- Predicting the next word based on the previous, not to mention prediction of the whole sentence
- Identification of dangerous scenarios (accidents, terror, etc.) in/out-of images or videos
- Music creation, by style.
And there’s more. It is also evident that things are moving fast in this area. We’re seeing new applications using AI almost on a daily basis. Software testing won’t be different.