Final Paper/Best Practice/Tutorial

AI emerging trend in QA

Abstract

Artificial intelligence (AI) is improving QA efficiencies beyond the reach of traditional practices. AI algorithms learn from test assets to provide intelligent insights like application stability, failure patterns, defect hotspots, failure prediction, etc.

These insights will help QA anticipate, automate, and amplify decision-making capabilities, thereby building quality early in the project lifecycle.

This paper focuses on providing the insight value of AI in Software testing that is currently emerging trend in QA.

Research was carried out to find scope of AI concepts in software testing in upcoming trends to ensure customer reliability and satisfaction.

Agenda

Introduction of Artificial Intelligence(AI)
AI concepts that enhance testing process
AI Makes QA Smart
Benefit
Case Study
Conclusion

Introduction of Artificial Intelligence (AI)

Ø Artificial Intelligence is a way of making a computer, a computer-controlled robot, or a software think intelligently, in the similar manner the intelligent humans think

Ø Approaches includestatistical methods,computational intelligence, andtraditional symbolic

Ø The AI field draws uponcomputer science,mathematics,psychology,linguistics,philosophy,neuroscience,artificial psychologyand many others.

Ø AI has been dominated in various fields such as Gaming, Natural Language Processing, Expert Systems, Vision Systems, Speech Recognition, Handwriting Recognition, and Medical Diagnosis & Intelligent Robots.

Ø Tuart Shapiro divides AI research into three approaches:

a) Computational psychology

b) Computational philosophy

c) Computer science.

Ø AI Technique is a manner to organize and use the knowledge efficiently in such a way that −

a) It should be perceivable by the people who provide it.

b) It should be easily modifiable to correct errors.

c) It should be useful in many situations though it isincomplete or inaccurate.

AI concepts that enhance testing process

Traditional QA Process:

Enhanced QA Process by using AI concepts:

Here we are using the AI concept in developing the Expert System that is enhancing the Software testing quality.

These are the general step in developing Expert System:

a)  Identifying the Problem

b)  Design the System

c)  Develop the Prototype

d)  Test & Refine the Prototype

e)  Develop and complete the Expert System

f)  Maintain the Expert System

Algorithms:

1.  Algorithms are used for calculation, data processing, and automated reasoning

2.  Algorithms have been useful in identifying how patterns emerge in nature, other correlations generated by algorithms have been more suspect

3.  Few of the concepts K Mean Cluster,Dendogram,Association Rules,Apriori algorithm,correlation,Hypothesis Analysis, Network Analysis, Cluster Coefficient, Linear Regression, Logistic Regression, Auto correlation,Correlogram,Decision Tree, Random forest used in developing the smart system

4.  Algorithms can make systems smarter, but without adding a little common sense into the equation they can still produce some pretty bizarre results

AI makes QA Smart:

We can develop an end-to-end ecosystem that explores, evolves and makes decisions based on cognitive and analytics capability from our own testing system.

This will develop the smart assets which can self-monitor, self-correct and evolve based on associated environmental factors

The smart asset can be a smart test case, smart test environment, smart test data or smart test strategy.

There will be smart integrations between components by using set of rules of engagement between assets. The smart test case can define the required environment and the data set required for execution. Similarly, the context could define the type or quantity of testing

The analytics engine is the heart of making QA ecosystem smart. Through analytics, the ecosystem knows how much testing is required and which assets should be used. Analytics provide the context and intelligence for testing efforts and use insights gained from past testing performance. With these insights, data and cognitive capabilities, IT can prioritize what needs to be tested, optimize testing efforts, and identify areas of improvement. The cognitive capabilities are enabled by natural language processing and connected intelligence to manage themselves with minimal human interventions

Benefits

Increased customer satisfaction

Improved quality – Prediction, prevention, and automation using self-learning algorithms

Faster time to market – Significant reduction in efforts with complete end to end test coverage

Cognitively – Scientific approach for defect localization, aiding early feedback with unattended execution

Traceability – Missing test coverage against requirement as well as, identifying dead test cases for modified or redundant requirement

Security – The Driving Force

AI concepts can be used in scope of performance & security testing of application.

Skilled resources-

Resources need to be skilled in the AI concepts & processes to enhance the testing activities to be more effective.

Increased productivity and client retention

Testing is key factor if done right; provide a good user experience that enriches a brand leads to more users, and ultimately more growth.

Accuracy & Quality

AI is changing the software testing industry in enhancing accuracy & quality of the Application.

Case Study:

Development Testing:

AI concept is used in performing development testing in TFS Check-in/Check-out process.

Ø Impact analysis with all related methods defines in the code where changes made.

Ø Identify coverage and risk associated with code changes.

Ø Identify and run any tests that represent the methods that are impacted.

Conclusion

Ø This paper focuses on providing the insight value of AI in Software testing that is currently emerging trend in QA.

Ø Artificial intelligence (AI) is improving QA efficiencies beyond the reach of traditional practices. AI algorithms learn from test assets to provide intelligent insights like application stability, failure patterns, defect hotspots, failure prediction, etc.

Ø These insights will help QA anticipate, automate, and amplify decision-making capabilities, thereby building quality early in the project lifecycle.

References & Appendix

http://comp.utm.my/wp-content/uploads/2013/04/Intelligent-and-Automated-Software-Testing-Methods-Classification.pdf

http://in.bgu.ac.il/en/engn/ise/QT/Documents/Artificial%20Intelligence%20Techniques%20to%20Improve%20Software%20Testing-PPT.pdf

http://usir.salford.ac.uk/2208/2/meziane_chapter_meziane_book.pdf

http://www0.cs.ucl.ac.uk/staff/mharman/raise12.pdf

http://research.ijcaonline.org/volume90/number19/pxc3894637.pdf

Author Biography

Sanjeev Kumar Jha

Senior Consultant

Email id: -

Co Author detail:

Amit Kumar Paspunattu

Manager

Email id: -

Capgemini Office Address :--

IT Park 1,115 / 32&35 | Nanakram Guda |

Gachibowli | Hyderabad - 500032 | INDIA

THANK YOU!