April 15, 2024
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,

Posted on:

April 15, 2024

in

Performance testing

category.

Is there a project You'd like to discuss?

related insights

HTML, CSS and ARIA in Website Accessibility

Explaining DevSecOps

The Differences between Usability and Accessibility Testing

Why Incorporate Non-Functional Testing Early in the Software Development Cycle ?

Benefits / Drawbacks of Production Performance Testing in Test / Scaled Down Environments

Incorporating Performance Testing within CI/CD Pipelines

How to Obtain Stakeholder Buy-In for Non-Functional Testing

Troubleshooting Performance Issues in Test Environments: A Real-World Scenario

‍Functional Test Automation: Why companies often feel let down by the outcome of their investment

The OWASP Top Ten - The Top 10 Web Application Security Risks

Avoiding Artificial Bottlenecks / Performance Issues in Performance Testing

Accessibility Guidelines - Testing for Accessibility and Understanding WCAG 2.1, the Upcoming WCAG 2.2 and Future WCAG 3.0 Updates

What is Volumetric Analysis ?

The Performance Testing Cycle / Process Explained

Service Level Agreements vs. Non-Functional Requirements for Performance Testing

Applying Automated Test Solutions

Combining Performance Testing and Chaos Engineering

Non-Functional Testing Strategy for Performance

Explaining Penetration Testing

Explaining Performance Testing

Explaining Accessibility Testing

Silk Central Upgrade - A simple upgrade ?

Virtual Machine LoadRunner Load Generators on Azure Setup

How Selenium WebDriver can be used for Performance Testing and its Pros and Cons

Performance Testing with SSO, OAuth

16 Tips Before You Automate

What is Automated Software Testing?

Load Testing and Performance Testing Tools

10 Top Tips for Creating Automated Performance Test Scripts