Mapping Artificial Intelligence

Slides:



Advertisements
Similar presentations
Approaches, Tools, and Applications Islam A. El-Shaarawy Shoubra Faculty of Eng.
Advertisements

Pat Langley Computational Learning Laboratory Center for the Study of Language and Information Stanford University, Stanford, California
Test Automation Success: Choosing the Right People & Process
Machine Learning Neural Networks
The Decision-Making Process IT Brainpower
SESSION 10 MANAGING KNOWLEDGE FOR THE DIGITAL FIRM.
D Nagesh Kumar, IIScOptimization Methods: M1L4 1 Introduction and Basic Concepts Classical and Advanced Techniques for Optimization.
Ant Colony Optimization: an introduction
Data Mining Techniques
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Kansas State University Department of Computing and Information Sciences CIS 830: Advanced Topics in Artificial Intelligence From Data Mining To Knowledge.
CMSC 345 Fall 2000 Unit Testing. The testing process.
RUP Implementation and Testing
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
Using Neural Networks in Database Mining Tino Jimenez CS157B MW 9-10:15 February 19, 2009.
IE 585 Introduction to Neural Networks. 2 Modeling Continuum Unarticulated Wisdom Articulated Qualitative Models Theoretic (First Principles) Models Empirical.
Swarm Computing Applications in Software Engineering By Chaitanya.
Swarm Intelligence 虞台文.
NEURAL NETWORKS FOR DATA MINING
Introduction to machine learning and data mining 1 iCSC2014, Juan López González, University of Oviedo Introduction to machine learning Juan López González.
Design & Analysis of Algorithms Combinatory optimization SCHOOL OF COMPUTING Pasi Fränti
Kavita Singh CS-A What is Swarm Intelligence (SI)? “The emergent collective intelligence of groups of simple agents.”
Ant Colony Optimization. Summer 2010: Dr. M. Ameer Ali Ant Colony Optimization.
Introduction to Information Systems Chapter One. IS for Management2 Information Concepts Knowledge Information Data Raw facts A collection of facts organized.
Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Artificial Neural Network Building Using WEKA Software
Computer Science Automated Software Engineering Research ( Mining Exception-Handling Rules as Conditional Association.
Data Mining BY JEMINI ISLAM. Data Mining Outline: What is data mining? Why use data mining? How does data mining work The process of data mining Tools.
Technical Seminar Presentation Presented By:- Prasanna Kumar Misra(EI ) Under the guidance of Ms. Suchilipi Nepak Presented By Prasanna.
Neural Networks Presented by M. Abbasi Course lecturer: Dr.Tohidkhah.
Data Mining and Decision Support
Identifying “Best Bet” Web Search Results by Mining Past User Behavior Author: Eugene Agichtein, Zijian Zheng (Microsoft Research) Source: KDD2006 Reporter:
Artificial Neural Networks (ANN). Artificial Neural Networks First proposed in 1940s as an attempt to simulate the human brain’s cognitive learning processes.
A field of study that encompasses computational techniques for performing tasks that require intelligence when performed by humans. Simulation of human.
Pattern Recognition. What is Pattern Recognition? Pattern recognition is a sub-topic of machine learning. PR is the science that concerns the description.
Network Management Lecture 13. MACHINE LEARNING TECHNIQUES 2 Dr. Atiq Ahmed Université de Balouchistan.
The KDD Process for Extracting Useful Knowledge from Volumes of Data Fayyad, Piatetsky-Shapiro, and Smyth Ian Kim SWHIG Seminar.
Introduction to Machine Learning, its potential usage in network area,
Sub-fields of computer science. Sub-fields of computer science.
Big data classification using neural network
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Chapter 11: Artificial Intelligence
Chapter 11: Artificial Intelligence
Scientific Research Group in Egypt (SRGE)
DEFECT PREDICTION : USING MACHINE LEARNING
What is an ANN ? The inventor of the first neuro computer, Dr. Robert defines a neural network as,A human brain like system consisting of a large number.
AI emerging trend in QA Sanjeev Kumar Jha, Senior Consultant
How to Learn Your Client
Quantifying Quality in DevOps
Continuous Automated Chatbot Testing
AUDIT AND VALIDATION TESTING FOR BIG DATA APPLICATIONS
MANAGING KNOWLEDGE FOR THE DIGITAL FIRM
ARTIFICIAL INTELLIGENCE IN SOFTWARE TESTING
Software testing strategies 2
MBML_Efficient Testing Methodology for Machine Learning
Data Warehousing and Data Mining
Model Based Testing Venkata Ramana Bandari, Expert Software Engineer
Automated Testing and Integration with CI Tool
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
Ant Colony Optimization
Design & Analysis of Algorithms Combinatorial optimization
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
The use of Neural Networks to schedule flow-shop with dynamic job arrival ‘A Multi-Neural Network Learning for lot Sizing and Sequencing on a Flow-Shop’
Artificial Intelligence Lecture No. 28
traveling salesman problem
Algorithms and data structures
Presented By: Darlene Banta
The Network Approach: Mind as a Web
Presentation transcript:

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.

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

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?

Futuristic Goals

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.

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

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)

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.

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

References & Appendix   https://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms http://www.engpaper.net/data-mining-in-software-testing.htm https://en.wikipedia.org/wiki/Tabu_search https://link.springer.com/chapter/10.1007 https://thesai.org/Downloads/Volume5No7/Paper_28-Estimating_the_Number_of_Test_Workers_Necessary.pdf

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.

Thank You!!!