Artificial Intelligence In Testing

Recently I read an interesting blog http://www.tothenew.com/blog/artificial-intelligence-in-software-testing/. The blogger talks about a digital transformation happening in Software Testing where testing is slowly transitioning to Automation for greater accuracy and higher productivity. But it is a question to see if 100% automation is really possible. In order to do this effectively, an intricate knowledge of the way end-users use the product is necessary. For a 1.0 version, this would be quite challenging. This is where the smartness and the inquisitiveness of the test engineer comes into action.

AI-driven testing is simply making the system understand the nuances and patterns of using the System-under-Test (SUT) and apply heuristics principles to automatically run the required tests under different load and data conditions. For a successful AI-driven testing to work, the automation tests should continuously learn and get trained on how the system is used. You might have to subject these tests on testing and staging servers used by customers to train the system accurately if you were to apply heuristics on real value data.

As Data Analytics technologies which includes data mining and pattern matching advance, creating a user-centric accurate test bed becomes extremely critical.  The author indicates that machines are learning faster than ever given the latest innovative technologies. With Cloud Computing and containerization on the crossroads, it is now possible to dynamically bring cluster of highly available systems to process data quickly. These systems can be retired easily when the system is not under peak load thus managing cost effectively.

It is also interesting to learn from the author that since 80% of testing is just regression and repetition of of the checks that were done before, AI-driven automated tests are better equipped in this case. I would go one step further here and argue that the system could go through some kind of code-analytics combined with cyclometric complexity to understand and filter out the repeated tests that should not be executed. If this approaches proves to work effectively, then it should be possible to eliminate the effort required to run repeated tests automatically thus saving time and money resulting to faster delivery of products.

AI-driven testing is gaining traction in the research side but the adoption in the industry is still a big question mark. We need better tools, frameworks and algorithms that would pave way to AI-driven testing. But I am glad that we have started discussing technology-driven testing advancements.

It would be interesting to see how the testing industry would adopt AI in the upcoming days. It is my humble opinion that 100% automation is a myth and you ought to have those use-case driven manual procedures where test engineers should wear end-users hat and test the use cases directly like an end-user with real test data of different kinds. This is called "Acceptance Testing" or "End-user Testing". 

To view or add a comment, sign in

More articles by Krishnan Rajagopalan

Others also viewed

Explore content categories