Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mapping Artificial Intelligence

Similar presentations


Presentation on theme: "Mapping Artificial Intelligence"— Presentation transcript:

1 Mapping Artificial Intelligence
to Software Testing Sonam Srivastava Engineer – Verification and Validation, Siemens Technologies and Services Pvt. Ltd. Abhinav Arya Team Lead, Sr. Test Analyst Cerner Healthcare Solutions Pvt. Ltd.

2 Software Delivery to the Client
Abstract : Software testing plays a vital role to gain consumers/end users confidence in the software. In order to ensure quality and reliability before any software is delivered to the client, the developers must know whether the designed software is working as per the end users requirements or not. Artificial Intelligence approaches, clubbed with Automation can do wonders and fetch faster results for complex market demands. This paper presents a number of Artificial intelligence approaches, which can be used by in the Software Testing environment. Flow Market Demands and Challenges Futuristic Goals Artificial Intelligence Techniques: Ant Colony Optimization (ACO) Artificial Neural Networks (ANN) Tabu Search Data Mining Correlation of these AI techniques with Software testing Strategies Benefits and Conclusion Software Delivery to the Client

3 Market Complexity and Pace?
Market Demands and Challenges Software Quality and Reliability End User’s Requirement Integration End-to-End Automation Testing Continuous Deployment Market Complexity and Pace? Still Not Enough?

4 Futuristic Goals

5 Ant Colony Optimization (ACO)
Artificial Intelligence Technique Ant Colony Optimization (ACO) In computer science and operations research, the ant colony optimization algorithm (ACO) is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs Wikipedia Ant’s Principle of Pheromone Trails to find food Ants of some species (initially) wander randomly, and upon finding food return to their colony while laying down pheromone trails. If other ants find such a path, they are likely not to keep travelling at random, but instead to follow the trail, returning and reinforcing it if they eventually find food (Ant communication). ACO is an algorithm that simulates the behaviour of real ants and aid in Test case optimization. In ACO, a set of software agents called artificial ants search for good solutions to a given optimization problem. To apply ACO, the optimization problem is transformed into the problem of finding the best path on a weighted graph. The artificial ants (hereafter ants) incrementally build solutions by moving on the graph. The solution construction process is stochastic and is biased by a pheromone model, that is, a set of parameters associated with graph components (either nodes or edges) whose values are modified at runtime by the ants. The first ACO technique was known as Ant System. The approach uses the concept of the capability of ants to locate the shortest route path from their destination to the food source. The method used to communicate information between the individuals is related to paths, and used to decide which path to follow, consists of pheromone trails. ACO technique has been applied to solve many optimization problems like travelling salesman problem, knapsack problem, distributed networks, telecommunication networks, and test data generation. ACO is an algorithm that simulates the behavior of real ants and aid in Test case optimization.

6 Artificial Neural Networks (ANN)
Artificial Intelligence Technique Artificial Neural Networks (ANN) Artificial neural networks (ANNs) are computing systems inspired by the biological neural networks that constitute animal brains. ANN algorithms have been adapted to the problem of software testing effort estimation. Information that flows through the network affects the structure of the ANN because a neural network changes - or learns, in a sense - based on that input and output. It is a system composed of many simple processing elements operating in parallel whose function is determined by network structure, connection strengths, and the processing performed at computing elements or nodes. ANN can exhibit much brain-like behaviours such as learning, association, generalization, feature extraction, optimization and noise immunity. A neural network can perform tasks that a linear program cannot. When an element of the neural network fails, it can continue without any problem by their parallel nature. A neural network learns and does not need to be reprogrammed. It can be implemented in any application. Consider three layers in an ANN - as the input layer, which distributes inputs to the hidden layer, and an output layer. The number of nodes used in the input layer and output layer are determined by the problem to which the network is being applied. The number of nodes used in the hidden layer is chosen by the user and there are no clear rules as to how many nodes one should employ in this layer. Consequently, different numbers of hidden nodes were evaluated in this study in an attempt to identify the ‘best’ ANN configuration for software testing effort prediction ANN algorithms have been adapted to the problem of software testing effort estimation Hidden nodes are evaluated in an attempt to identify the ‘best’ ANN configuration for software testing effort prediction

7 Tabu Search References & Appendix
Artificial Intelligence Technique Tabu Search References & Appendix The key feature of TS method is the use of memory, which records information related of the search process. It generates a neighborhood solution from the current solution and accepts the best solution even if it is not improving the current solution. Tabu search is a metaheuristic algorithm which is used to solve optimization problems. It uses the concept of memory structure that stores the information about the visited solutions and set of rules. Based on the problem, number of parameters are considered by Tabu search such as: objective function (used to calculate the cost of solution), a candidate list (for choosing good neighbour candidates) and memory structure (used to stores the information about the recent moves and the frequently moves of the search). Tabu search is used for automatic generation of structural software testing and is a cost effective approach to optimize the cost of software process that will provide maximum code coverage (in terms of path, conditions and loop coverage)

8 Data Mining References & Appendix Artificial Intelligence Technique
Data mining is the computing process of discovering patterns in large data sets to extract information from them and transform it into an understandable structure for Decision Making. Assemble Target Data Analyze Multivariate Sets Data Cleaning Preprocessing Anomaly Detection Rule Learning Clustering/Classification Regression/Summarize Data Mining Verify Patterns Learned Patterns Investigation Results Validation Data mining is a process of extract of useful information and knowledge from a large database which is further applied for decision making. The parameters included in data mining are clustering, association, path analysis, classification and regression. Data mining algorithms can be efficiently used for automation of tested systems. Mined tools like Pr-Miner, MAPO, PARSEWeb, mined exception-handling rules are used on software data which includes source code, traces of execution process, history of the code revision, bugs reports, documentation etc. mining models are also used to identifying the equivalence classes in system inputs. Mined tools like MAPO, PARSEWeb, mined exception-handling rules are used on software data which includes source code, traces of execution process, history of the code revision, bugs reports, documentation etc. Data mining algorithms can be efficiently used for automation of tested systems.

9 Benefits to Business Following benefits can be observed by mapping AI to Software Testing:- Improved quality – Prediction, prevention, and automation using self-learning algorithms Faster time to market – Significant reduction in efforts with complete E2E 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 changed or redundant requirement

10 References & Appendix

11 Author Biography Sonam Srivastava works as an Engineer - Verification & Validation, Siemens Technology and Services Pvt Ltd., Bangalore and has over 7 years of diversified experience in Industrial Automation and Product Testing. Lean Champion for the project currently working in. ISTQB and TUV for safety, certified. Trainer for Domain level training in Industrial segment of the organization engaged with. Abhinav Arya works as a Team Lead- Senior Test Analyst, Cerner Healthcare Solution Pvt. Ltd, Bangalore and have 5 years of diversified experience in Framework UI Tool Development and Software Testing (manual/automation).Currently managing team of 6, handling projects across different solutions. Languages profound in: JavaSE, SQL, UNIX Shell. Also have hands on C.

12 Thank You!!!


Download ppt "Mapping Artificial Intelligence"

Similar presentations


Ads by Google