Artificial intelligence in testing – The art of logic and repetition

Publish date:

“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.

Related Posts

Artificial Intelligence

Capgemini and Databricks partnership – multi-cloud Spark delivery at scale

Goutham Belliappa
July 13, 2018
Capgemini & Databricks – Multi Cloud Spark Delivery at scale. Meet our leaders Scott D Sweet, Goutham Belliappa, Steve Jones, Mansoor Aleem, Anne Laure Thieullent, Lee Brown at Microsoft Inspire 7/16 – 7/18 in Las Vegas
Artificial Intelligence

Artificial Intelligence Readiness and -Performance Benchmark

Dinand Tinholt
July 10, 2018
Are countries across the world ready to reap the benefits of Artificial Intelligence (AI) and how are they currently performing? Capgemini’s AI benchmark shows the current state of play.
AI

Why you shouldn’t ask Alexa to be your friend

Henk Vermeulen
July 6, 2018
It is critical to distinguish and separate any digital agent into two logical parts: the highly anthropomorphized user interface, and the digital logic driving the interaction.
cookies.

By continuing to navigate on this website, you accept the use of cookies.

For more information and to change the setting of cookies on your computer, please read our Privacy Policy.

Close

Close cookie information