ARTIFICAL INTELLIGENCE (AI) AND MACHINE LEARNING (ML) IN TESTING
As Artificial Intelligence (AI) and Machine Learning (ML) touches more and more areas in computing, inevitably software testing is beginning to feel its impact. As such, the impact of AI and ML on software testing (such as performance testing) going forward is likely to increase significantly.
WHAT IS AI AND ML ?
From the outset, it is probably best to define what we mean by both AI and ML.
Artificial Intelligence (AI) encompasses the development of systems that can emulate human intelligence, enabling machines to perform tasks such as machine learning and apply this learning to assist in performance testing disciplines, such as scripting, scenario design and issue detection.
Machine Learning (ML) is a component or subset of AI, which utilises algorithms and models to enable computers to learn from data and experiences, allowing AI decisions and responses to be more informed and better over a period of time.
HOW WILL IT AFFECT TESTING (SUCH AS PERFORMANCE TESTING) GOING FORWARD ?
Software testers may have concerns that their jobs will become obsolete with the advent of AI and ML, but testers still have a role in testing, evolving into a more abstract and supervisory role, guiding the AI and ML models and validating the output of the AI, the generated test scripts, test scenarios and the interpretation of test data and identification of performance issues based on test data trends.
By definition, machine learning can only act upon information it has already previously learned. The more and more data it learns, the better the AI will perform in terms of scripting more relevant use cases and scenarios, identification of performance trends and predicting projected future performance issues. Testers will evolve to embrace AI to assist and not replace their efforts, guide AI models used in testing and be accountable for the testing quality of such tools. Accuracy of performance test scripts, test scenarios and issues discovered will always need the verification of an expert tester.
AI AND ML IN PERFORMANCE TESTING
Automated Test Generation AI algorithms can analyse and learn the behaviour of a live application and generate test scripts and usage patterns to automatically generate realistic test scenarios reducing the effort required to create all of this manually and eliminating human error in the production of these assets.
AI contributes to areas such as anomaly detection, where it monitors application performance metrics in real-time to swiftly identify deviations from expected behavior and anticipate potential issues. It also aids in predictive performance analytics, using historical data and current system behavior analysis to forecast potential performance bottlenecks and also scalability concerns. Additionally, AI facilitates root cause analysis by rapidly identifying the underlying causes of performance issues from test results.
In all three of these areas, AI aims to reduce the Mean Time to Detect issues (MTTD), Mean Time to Investigate issues (MTTI), and Mean Time to Resolve issues (MTTR), which is a huge benefit when identifying and resolving time-critical production issues.
CONCLUSION
As AI and ML become more prevalent in performance testing, the key is to embrace the technology and use it as a tool to assist and improve the quality of your performance testing, rather than think of it as something that is going to render your performance test skills obsolete.
The effectiveness of AI in performance testing is only as good as the what the AI can learn as a basis to intelligently create scripts and scenarios, make decisions, perform analysis and predict future issue. Don’t forget you’ve experienced and learnt a lot too 😊 and this experience is crucial invalidating the scripts, scenarios and conclusions AI can come up with when assisting with your performance testing,