Cognitive is an Intelligent Test Planning automation capability which automates – the most humanly possible activity in testing.
Automation is the need of the hour and in testing it has special importance. In the age of digital era, it is very important to have as much as automation possible in every phase of testing for faster delivery of the product into the market. Traditional and open source automation tool helps in reducing the time required to test but options are limited when the question is “What to test?”. One quick answer is to test everything but is not possible due to time constraint and it is not economical also.
One way is to manually analyze the impact of the change on the existing functionality and come up with the scenarios or test cases for the execution and it is mostly driven by the individuals and the knowledge quotient of the people involved. This process is time consuming and error prone, when technical architecture of the domain under test is complex. Hence need of cognitive computing system arises, which can identify these scenario using self-learning systems that use data mining, pattern recognition, natural language processing and applying predictive intelligence to get the best possible test cases with ranking and Prioritisation.
Cognitive has been built on the data lake architecture powered by ML and NLP.
1. Building Test Models by Reverse Engineering of existing test matrix using Natural Language processing – Test scenarios, test cases, test specifications, XML and attributes mapped to the test specifications are processed in Hadoop by a powerful natural language processor and a full-fledged test models are built on run time.
2. Ranking and prioritisation using machine learning – This tool aggregates data from production and test environment, synthesis the data in Hadoop platform(Daily size of 750 GB) and produce a consumption analytics. This data is then sourced into recurrent neural networks to perform ranking and prioritization on the tests.
As a Testers he/she would have to just enter the natural language based requirements(User stories/acceptance criteria), and the tool would eventually suggest tests to the users based on the change being developed with appropriate ranking and prioritisation and can also use this tool to pull in the planned tests into Software test management tool for future execution and closure.
This tool also have the capability to perform dynamic risk based testing based on the earned confidence of the change by dynamically applying machine learning and predictive algorithm(recurrent neural networks). It also supports gamification to create a healthy competitive environment among the testers. Hence Cognitive helps the testers in preparing the test plan in more intelligent, structural and systematic way at ease. Also avoids human errors and knowledge churn in the organisation
This capability will offer the below benefits:
• Reduction in overall test planning process (approx. 30% in test planning).
• Improve defect density(approx. 10%).
• Reducing non-failing tests(approx. 25%).
• Redundancy in Test planning and Test execution.
• Improvement in test planning efficiency(approx. 30% in test planning).
This capability was proven in our project and efficiency of circa 270K GBP/year.