The problem of decision making under uncertainty can directly impact the obtained results and the generalizability of a proposed solution. Moreover, a complex model can sometimes act as an uncertainty amplifier, where the uncertainty in the results is much greater than the uncertainty in the setup of the model and the data it uses. Employing decision intelligence and artificial intelligence which optimize the process of decision-making has received a great deal of attention in recent years. On the other hand, most of the real-world industrial problem scenarios suffer from volatility, uncertainty, complexity, and ambiguity. Therefore, utilizing AI-based solutions might be a time and resource-consuming process due to the problem formulation, data availability, data quality, anomalies, etc. Providing guidelines to manage diverse types of uncertainty with intelligent decision making can help the subject matter experts at industries to improve various processes in a more efficient way.
Software testing is the process of analyzing a software item with the aim to detect the differences between existing and required conditions (hidden bugs), as well as to evaluate the features of the software item. For testing a software product, several scenarios need to be created which are called test cases. The number of required test cases for testing a product can be large; in industry more than 10,000 test cases are usually created. Executing all these test cases without any particular order can impact the results of the test execution.
In Artificial Intelligence Methods for Optimization of the Software Testing Process, the authors introduce, apply, and evaluate different AI-based solutions for overcoming the uncertainty found in many initial testing problems, and thereby solving the problem with intelligent decision making. The concept of intelligent decision making in this book is presented as a multi-criteria, multi-objective decision making problem such as scheduling a large number of test cases for execution, identifying the critical criteria (e.g. semantic and syntactic similarities between test cases, interdependencies, or requirement coverage), and measuring the impact of each criterion on the test cases automatically. Today, most of the proposed solutions for test optimization purposes are lacking in an industrial evaluation. Therefore, it is hard to employ them in real cases. However, this book will provide comprehensive industrial use cases for the proposed solutions which can easily be adapted to different testing processes across the industry. The book can also be utilized as a post-graduate reference book in the areas of artificial intelligence methods, software testing, and test optimization.
All the proposed solutions in this book employ new AI-technologies, where the details (e.g. input, parameters, code, expected output) are provided for each method. After each method, a set of practice assignments is provided for readers to verify their knowledge. Moreover, a comprehensive Appendix is provided where readers can easily use and re-run the code and solutions.
--This text refers to the paperback
edition.