By Niranjan V.S., SVP and Service Offering Head, Infosys Quality Engineering
Quality engineering: Critical to software development
Quality engineering comprises principles and practices for embedding quality across the software development lifecycle. Unlike quality assurance, which mostly comes into play in the final stages of development, quality engineering is active right from the beginning, enabling developers to address defects at source. Now, the integration of AI with quality engineering is making it even more effective by bringing unprecedented efficiency, agility and intelligence to software development and testing.
Overcoming the challenges of traditional testing
Traditional software testing follows a “waterfall approach”, where testing proceeds sequentially, beginning with unit testing and closing with acceptance testing. In this method, testers have to spend considerable time and effort in manually executing different test scenarios and checking for issues, which increases cost, slows the development cycle, and increases error rates. These challenges get exacerbated as datasets grow in size and complexity.
Hence over the years, enterprises have tried to shift from traditional testing to automated testing to expand and accelerate testing, and improve accuracy. Automation not only helps to build a more stable, reliable, technology infrastructure, it also frees developers’ time that they can deploy in more sophisticated activities.
AI, the game changer
However, the vast majority of organisations believe their testing needs to improve: in a recent survey of 400 senior executives in the US and UK, a meagre 16 percent said that their current testing practices were efficient. Significantly, most of the participants were addressing this problem by adopting AI-augmented testing tools.
AI-enabled quality engineering promises to be a game changer, driving a level of precision and efficiency that is beyond the reach of traditional testing. AI algorithms can analyse historical data to identify patterns and predict quality issues, enabling organisations to take early action; machine learning tools detect anomalies with great accuracy, ensuring nothing is missed. Self-healing test scripts update automatically, without manual intervention. Machine Learning models automate test selection, picking the most relevant ones, while reducing both manual effort and errors. In addition, AI can prioritise test cases based on criticality, thus optimising resources and improving testing outcomes. Further, it can integrate with CI/CD (continuous integration/ continuous delivery) pipelines, providing real-time feedback on code quality, and distributing updates automatically to ensure software applications are always ready for deployment. And now, generative AI is playing a key role by automatically generating test cases, creating “real-world” test scenarios, diagnosing flaws in test cases, etc.
Quantifiable benefits for quality engineering
It is reported that AI-driven testing can increase test coverage by as much as 85 percent, and testing efficiency by 25 percent. Another advantage is a reduction in testing time and effort: one source suggests that the use of AI tools can reduce regression testing effort by a massive 70 percent, total testing cost by 35-50 percent, and time to market by 50 percent.
Organisations across industries are reaping the benefits of AI in quality engineering: for example, financial institutions are automating test case generation to ensure applications are always up-to-date with changing regulatory compliance requirements. Healthcare companies are leveraging AI-enabled defect prediction to identify parts of the codebase that are most likely to have issues, so they can quickly fix problems that could affect patient outcomes.
The importance of Responsible AI
AI brings immense value to quality engineering, but also presents a few challenges. To function effectively, algorithms require high-quality datasets, which may not always be available. Organisations will likely need to invest significant resources in acquiring AI talent or building skills in-house. There needs to be a clear plan for integrating AI with existing testing tools and processes. Finally, there are concerns such as protecting data privacy and confidentiality, and implementing Responsible AI.
Enterprises should focus on the following to ensure ethical and responsible AI use: provide data of high quality – clean, accurate, consistent, complete and fair – to produce good outcomes; ensure models are unbiased, transparent, and explainable (as far as possible); and train employees in responsible practices, such as using personal data only with consent and avoiding bias or subjectivity while writing prompts. Importantly, they should always have a human in the loop to oversee the working of AI and ensure no critical issues are missed.
As long as these concerns are addressed properly, AI will transform software testing by enhancing efficiency, accuracy, agility, and intelligence. Without doubt, it is the future of quality engineering.