AI in software testing – friend or foe?
By Leela Putten, IT Specialist Consultant at iOCO.
Artificial intelligence (AI) and machine learning are changing the face of software development and testing, promising to speed up the development and release of quality software. But for many people, AI also appears to pose a threat to the software testing practice as a whole.
It should be noted that testers have been expressing similar fears since the early 2000s. First, automation was seen as a threat, then agile, now AI. Despite their fears, testing is not yet dead, and AI as a mainstream component of testing is still some years off.
Because testing is such an important part of risk management, organisations will always need human testers, with an external, non-biased point of view.
However, AI will make its way into our environment, and we should welcome it. It’s not the enemy. AI will in fact free up testers to do higher value reasoning work, by taking care of the mundane heavy lifting with greater accuracy and speed than humans can manage. AI takes on the repetitive checks and automates time-consuming manual work, and can be deployed to support automated testing of thousands of test cases that simply wouldn’t be possible for a human tester working in an agile environment.
Far from being a threat to human testers, AI takes on the gruelling tasks and allows humans to focus on what they do best – such as strategic thinking and applying business logic. AI can’t replace human intuition and the human’s role in context-driven testing. For example, while AI testing might conclude that two buttons on an application are fully functional, human intuition and experience will note that both buttons do the same thing, and therefore one is redundant. Usability testing, which is often critical to the success of an application, is best left to human testers.
AI can help us in myriad ways. It can help in test automation frameworks, and accelerating time to complete full test coverage. Where it might have taken us a week to test 100 functions in an application, AI could possibly do it in minutes. AI can also help us improve test automation frameworks , simplifying test automation with pattern recognition. It fast-tracks and simplifies the building of automated scenarios, clustering and identifying the best areas to test. It can also simplify security and performance testing.
The next generation of testing embraces AI and machine learning, and testers should be getting ready to harness the opportunities this will bring. Already making an impact are tools such as TestCraft for regression and continuous testing; Functionize for functional performance and load testing; Testim to speed up automated tests; Applitools for visual UI testing; and Mabl for UI testing at scale.
In much the same way as we had to evolve our skills, processes and approaches to move into a cloud-enabled world, we must now upskill ourselves to understand AI. To make the most of it, we will need to keep an open mind and use AI as an ally to speed up our testing with new testing tools and also adapt to testing applications that are heavily AI driven. We must constantly evolve as testers and acquire new domain knowledge to harness new opportunities while promoting our foundational core testing best practices.