Given the hype around generative AI, a useful yet often overlooked application of artificial intelligence is in quality assurance, primarily in sectors such as software development.
Software developers adopt AI for quality assurance to boost productivity and accuracy. "Quality assurance has been manual for most of software development, but in the recent past, we've moved from manual to autonomous and inserting AI into the process," said Venkat Chaganti, managing director at professional services firm Deloitte.
AI in quality assurance is of use to other sectors too. In manufacturing, AI replaces manual inspections of parts and products as they move through production lines. AI-powered systems often use computer vision and deep learning models to scan and analyze components against accepted standards and to alert to defective items. This all makes production lines more efficient and helps prevent employee burnout.
Introducing an AI system into a QA process leads to an autonomous QA workflow. This can benefit businesses as long as leaders understand how to implement it and what its potential challenges are.
How businesses can achieve an autonomous QA workflow
Software quality assurance (SQA) confirms that all the components of the software engineering process adhere to set standards and support the production of a quality product.
SQA involves analysis and requirements specification, design and development, and testing and deployment. Therefore, quality assurance is part of all stages of the software development lifecycle. Testing should occur throughout, integrated with the development process.
Some aspects of SQA throughout this lifecycle can be automated, such as testing. Testing automation is a key component in Agile development environments as it brings the speed needed to support continuous testing and continuous integration.
Automated testing, in which humans write scripts for each test scenario, is faster than a manual process. However, automated testing is not the same as -- or as fast as -- autonomous testing, which is the next step up in automation maturity. Autonomous testing uses automated testing tools and other technologies, namely AI and machine learning (ML), to create and execute the testing process without any human intervention.
The benefits of AI in QA
The benefits of autonomous testing for QA can be immense. Autonomous testing accelerates the testing process, which in turn means developers and engineers can shorten the time it takes to release products.
Other benefits of autonomous testing include higher cost-efficiency and overall improved effectiveness. When used within autonomous testing, ML algorithms create and run tests. AI technology also uses algorithms to analyze results. Furthermore, it can iteratively learn from those experiences and continue refining those steps.
A software QA engineer has to come up with different test scenarios and test everything related to those scenarios. "That's a lot of work," said Kavita Ganesan, an AI adviser, strategist and founder of AI consultancy Opinosis Analytics. AI can essentially automate test case creation, validated by the engineers, Ganesan said. "Although a human still needs to be in the loop to validate that these test cases are right, the AI certainly reduces the workload."
AI in autonomous testing performs other key tasks, such as bug detection and root cause analysis. Developers can address problems with the code before deployment, and it increases the process effectiveness overall.
"With artificial intelligence, the quality assurance for software is much better," said Sreekanth Menon, vice president and global leader of AI/ML services at professional services firm Genpact. "You can now synthetically create data to test the software to make sure you have a super quality product." Synthetic data sets are realistic substitutes for real-world data sets, used for the purpose of training models.
Challenges for AI in SQA
It takes time for businesses to fully mature their testing practices. The "2023 State of Test Automation" report from configuration software developer Perforce Software found that 22% of DevOps professionals surveyed listed the lack of resources for test automation as a challenge, making it the most commonly reported challenge.
Implementing autonomous testing with AI as part of an overall SQA program comes with challenges. One such challenge is setting up the AI component and effectively training the AI models.
"The model will only be as good as the data used to train it, so if the data isn't high quality, then the results won't be accurate," explained Arthur Carvalho, associate professor of information systems and analytics at the Farmer School of Business at Miami University.
Even if the training data was solid, AI models can drift over time. QA standards can also change, necessitating changes to the models.
"Instead of monitoring the product [for its quality], we have to monitor our AI models to make sure they're still working as intended," Carvalho said.
Organizations might struggle to staff teams with the expertise required to monitor results from the AI-powered systems. Human expertise is needed -- at least until the AI models have improved in performance over time through iterative learning.
These challenges will be clear at the beginning, soon after an organization has implemented an autonomous QA workflow, but they are surmountable.