Capping IT Off

Capping IT Off

Opinions expressed on this blog reflect the writer’s views and not the position of the Capgemini Group

Artificial intelligence in testing - The art of logic and repetition

Category : Testing

"Maybe the only significant difference between a really smart simulation and a human being was the noise they made when you punched them.”  - Terry Prachett ,The Long Earth

I recently had the opportunity to visit some of the world’s premier automobile manufacturers. It was insightful to understand how they use the data that a car generates along with machine learning and artificial intelligence to make intelligent decisions that lies behind connected cars.

To me software testing is very similar. Testing is a critical but a very expensive activity, more so in the connected world .Exhaustive testing is impractical due to time and resource constraints.

What if there was one a mechanism to intelligently derive areas that one should test and secondly identify repetitive patterns based on data that could be automated. Enter artificial intelligence and machine learning. Whether you are doing manual or automated testing, it is simply about inputs and expected outputs in the form of validation steps. In combining machine learning (inputs and outputs) with analytics (behaviors) to facilitate decision making, you have the power to unlock the patterns in this data, drive automation and improve testing efficiencies

Here are my top six areas where QA teams would benefit from leveraging artificial intelligence in software testing:

  • Behavioral patterns in application testing: Mechanism to use monitors, for example IOT sensors, to generate behavioral patterns by geography, devices and demographics as inputs to build test suites.
  • Social media analytics: Mechanism to analyze data from social media to build  trends by demographics; forming the basis of test suites.
  • Defect analysis: Mechanism to mine defects and define test suites which find defects and application areas most prone to defects; assisting the tester in making intelligent decisions about test coverage and test suite optimization at a rapid pace.
  • Estimation and efficiency analysis: Mine test management tool data for tester productivity such as test case creation and test execution to automate the decision making process on when to release and when to start testing.
  • Nonfunctional analytics: Analyzing operational logs to determine performance SLA's and security vulnerabilities which would form the basis of performance and security testing.
  • Machine learning test programs to generate test data:  Consider a scenario where a machine learning algorithm is devised with a “teaching set” of data to create rules then asked to use those rules to identify valid test data from production data. For example, you can create a software test data generator and input a teaching set of flat files of data, some of which say, “this is a valid input”  based on contents of flat file sequences and some of which say, “this is not a valid input.” Then you could import feeds from production, and the test data generator could parse the inputs based on the rules that it has learnt to create valid  test data.

Artificial Intelligence and machine learning will naturally aid automation. It will allow the tester to automate the repetitive part and focus on the logical, creative and reasoning part which will be critical in the inter-connected world.

 

 

 

About the author

Deepika Mamnani
Deepika Mamnani
I build solutions for strategic testing initiatives. My core competency is conducting transformation assessments. I also play an advisory roles in building business cases for managed testing both in-house and out-sourced
1 Comment Leave a comment
Thank you Deepika for the crisp take on using AI and ML in Testing. I have been researching this topic and your thoughts have pointed me in the right direction. thanks for sharing. Best Maloy

Leave a comment

Your email address will not be published. Required fields are marked *.