Software testing professionals today are under immense pressure to make faster risk-based, go-live decisions, what with DevOps practices having shrunk the time to deliver test results. What was expected every two weeks is now expected umpteen times in a day.
The job of a tester has also become more demanding due to increasing complexities in applications. Testers are now expected to deliver a go/no go decision that compliments fast-paced development and deployment.
How to use machine learning in software testing
A recent piece announcing the launch of a data-driven ML-powered engine to assist testers sounds promising, but will it deliver on the promise?
Kawaguchi’s reasoning behind his new venture is based on the way different industries have benefited by using data to drive processes and efficiencies. He opines that the same can be replicated in the software industry, specifically to the practice of software testing.
Through Launchable, Kawaguchi plans to utilize machine learning to help provide quantifiable indicators that help testers perform risk-based testing and get a clear understanding of the quality and impact of the software when ready for deployment.
A machine learning engine is expected to predict test cases that could fail due to changes in the source code. Knowing in advance about test cases that are poised for failure would allow testers to run a subset of tests in an order that would minimize the feedback delay.
Our view on the use of machine learning in software testing
As testers, skeptics we are!!
Whilst there is no doubt that time to deliver has become a significant constraint for testers and automation helps to speed things up, the selection of tests to automate is still an expert-driven process.
When the quantum of changes are small and changes localized, we may probably be able to have an AI algorithm, that through a reduced set of features, can arrive at an intelligent risk assessment.
However, as testers, we have also seen that a small quantum of changes can result in a large regression impact. In this case, the feature set we may need to assess may be insufficient.
What if the quantum of change is large. The features that the algorithm needs to consider may not be limited to code alone, but also depend on a lot of external factors, including business considerations to drive the test focus decision. That makes the data points required for decision making, sizable.
To date, the ability of AI to replace human instinct and interplay is yet to be proven!
Until such a time, that one understands the features considered to assess risk. The biases that the algorithm may have absorbed while being trained. And that AI can replace critical thinking is proven – this will be one more output that will need to get assessed for the possible risk it can pose to the decision-making process.
Kosuke Kawaguchi is confident about his approach. That’s the claim he made when he announced the launch of his startup. We have eagerly signed up for a beta here, and will keenly observe the impact that these set of AI algorithms have on software testing.
Here’s to more innovations in this sphere!!