Artificial intelligence methods for optimization of the software testing process with practical examples and exercises /
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Otros Autores: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
[S.l.] :
Academic Press,
2022.
|
Colección: | Uncertainty, computational techniques, and decision intelligence
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- Front Cover
- Artificial Intelligence Methods for Optimization of the Software Testing Process
- Copyright
- Contents
- List of figures
- List of tables
- Biography
- Preface
- Acknowledgments
- Part 1 Software testing, artificial intelligence, decision intelligence, and test optimization
- 1 Introduction
- 1.1 Our digital era for a better future
- 1.2 What is in this book?
- 1.2.1 What is in the practical examples and exercises?
- 1.2.2 What you will need
- 1.3 What is missing?
- 2 Basic software testing concepts
- 2.1 Software development life cycle
- 2.2 Software testing
- 2.2.1 The procedure of software testing
- 2.2.2 Software testing life cycle
- 2.2.3 The levels of software testing
- 2.3 Test artifacts
- 2.3.1 Requirements specification
- 2.3.2 Test specification
- 2.3.3 Test script
- 2.3.4 Software test report
- 2.3.4.1 Test summary
- 2.3.5 Traceability matrix
- 2.4 The evolution of software testing
- References
- 3 Transformation, vectorization, and optimization
- 3.1 A review of the history of text analytics
- 3.1.1 Text analytics sub-disciplines and applications
- 3.2 Text transformation and representation
- 3.2.1 String distances
- 3.2.2 Normalized compression distance
- 3.3 Vectorization
- 3.3.1 Text vectorization
- 3.3.2 Machine learning
- 3.3.3 Neural word embeddings
- 3.3.4 Log vectorization
- 3.3.5 Code vectorization
- 3.4 Imbalanced learning
- 3.4.1 Random under-sampling
- 3.4.2 Random over-sampling
- 3.4.3 Hybrid random sampling
- 3.4.4 Synthetic minority over-sampling technique for balancing data
- 3.5 Dimensionality reduction and visualizing machine learning models
- 3.5.1 t-Distributed stochastic neighbor embedding
- 3.5.2 Uniform manifold approximation and projection
- References
- 4 Decision intelligence and test optimization.
- 4.1 The evolution of artificial intelligence
- 4.2 Decision-making in a VUCA world
- 4.3 Multi-criterion intelligent test optimization methodology
- 4.4 Static and continuous test optimization process
- 4.4.1 Test case selection
- 4.4.2 Test case prioritization
- 4.4.3 Test suite minimization
- 4.4.4 Random, exploratory, and parallel test execution
- 4.4.5 Intelligence test scheduling
- 4.4.6 Test automation
- References
- 5 Application of vectorized test artifacts
- 5.1 Test artifact optimization using vectorization and machine learning
- 5.2 Vectorization of requirements specifications
- 5.2.1 Unit of analysis and procedure for analyzing the requirements specifications
- 5.2.2 Case Study 1: Topic identification for the requirements specifications analysis using text vectorization and clustering
- 5.2.3 Optimization strategy and industrial application
- Strategy A: Increasing/decreasing prioritization for the clustered requirements
- Strategy B: Requirement selection and cluster size reduction
- 5.2.4 Case Study 2: Splitting up requirements into dependent and independent classes using text vectorization and classification
- 5.2.5 Applications of dependency detection between requirements
- 5.3 Vectorization of test case specifications
- 5.3.1 Unit of analysis and procedure for analyzing the manual test cases
- 5.3.2 Case Study 3: Similarity and dependency detection between manual integration test cases using neural network embeddings and clustering
- 5.3.3 Applications of dependency and similarity detection between manual integration test cases
- Strategy 1: Parallel test execution of similar test cases
- Strategy 2: Test execution scheduling and test automation using the dependency information between test cases.
- 5.3.4 Case Study 4: Dividing manual integration test cases into dependent and independent classes using neural network embeddings and classification
- 5.4 Vectorization of test scripts
- 5.4.1 Unit of analysis and procedure for analyzing the test scripts
- 5.4.2 Case Study 5: Similarity detection between integration test scripts using neural network embeddings and classification
- 5.4.3 Case Study 6: Clustering high-dimensional data points using HDBSCAN, t-SNE, and UMAP for similarity detection between integration test scripts
- 5.4.4 Applications of similarity detection between test scripts
- Strategy A: Parallel test execution
- Strategy B: Test suite minimization
- 5.5 Vectorization of test logs
- 5.5.1 Unit of analysis and procedure for analyzing the test logs
- 5.5.2 Case Study 7: Classifying log entries based on the failure causes using word representations and troubleshooting action classification
- 5.5.3 Case Study 8: Log vector clustering using the HDBSCAN algorithm
- 5.5.4 Applications of the test log vectorization
- 5.6 Implementation
- 5.6.1 Scripts, modules, packages, and libraries
- 5.6.1.1 NumPy
- 5.6.1.2 Pandas
- 5.6.1.3 SentenceTransformer
- 5.6.1.4 HDBSCAN
- 5.6.1.5 UMAP
- 5.6.1.6 AutoKeras
- 5.6.2 Text vectorization
- 5.6.3 Code vectorization
- 5.6.4 Log vectorization
- 5.6.5 Random over-sampling, under-sampling, and SMOTE
- 5.6.6 Visualization implementation
- References
- 6 Benefits, results, and challenges of artificial intelligence
- 6.1 Benefits and barriers to the adoption of artificial intelligence
- 6.2 Artificial intelligence platform pipeline
- 6.2.1 Dataset generation
- 6.2.2 Model development
- 6.2.3 Model deployment
- 6.3 Costs of artificial intelligence integration into the software development life cycle
- References
- 7 Discussion and concluding remarks
- 7.1 Closing remarks.
- Part 2 Practical examples and exercises
- 8 Environment installation
- 8.1 JupyterLab installation
- 8.1.1 JupyterLab on pre-installed Python
- 8.2 GitHub labs
- 8.2.1 Download
- 8.2.2 Loading the exercises into JupyterLab
- 9 Exercises
- 9.1 Python exercises and practice
- 9.2 Exercise 1: Data processing
- 9.3 Exercise 2: Natural language processing techniques
- 9.4 Exercise 3: Clustering
- 9.5 Exercise 4: Classification
- 9.6 Exercise 5: Imbalanced learning
- 9.7 Exercise 6: Dimensionality reduction and visualization
- References
- A Ground truth, data collection, and annotation
- A.1 Ground truth
- A.1.1 The conducted ground truth for Case Study 1, requirements specifications analysis
- The Singapore Project at Alstom Sweden AB
- A.1.2 The conducted ground truth for Case Study 2, splitting up requirements into dependent and independent classes
- The Singapore R151 Project at Alstom Sweden AB
- A.1.3 The conducted ground truth analysis for Case Study 3, similarity and dependency detection between manual integration test cases
- The BR490 Project at Alstom Sweden AB
- A.1.4 The conducted ground truth analysis for Case Study 4, dividing manual integration test cases into dependent and independent classes
- The Singapore R151 Project at Alstom Sweden AB
- A.1.5 The conducted ground truth analysis for Case Study 5 and Case Study 6, similarity detection between integration test scripts
- Ericsson AB
- A.1.6 The conducted ground truth analysis for Case Study 7 and Case Study 8, grouping log files based on failure causes
- Ericsson AB
- References
- Index
- Back Cover.