Software Testing Automation: Testability Evaluation, Refactoring, Test Data Generation and Fault Localization
- Length: 604 pages
- Edition: 1
- Language: English
- Publisher: Springer
- Publication Date: 2023-03-25
- ISBN-10: 3031220560
- ISBN-13: 9783031220562
- Sales Rank: #0 (See Top 100 Books)
This book is about the design and development of tools for software testing. It intends to get the reader involved in software testing rather than simply memorizing the concepts. The source codes are downloadable from the book website. The book has three parts: software testability, fault localization, and test data generation.
Part I describes unit and acceptance tests and proposes a new method called testability-driven development (TsDD) in support of TDD and BDD. TsDD uses a machine learning model to measure testability before and after refactoring. The reader will learn how to develop the testability prediction model and write software tools for automatic refactoring.
Part II focuses on developing tools for automatic fault localization. This part shows the reader how to use a compiler generator to instrument source code, create control flow graphs, identify prime paths, and slice the source code. On top of these tools, a software tool, Diagnoser, is offered to facilitate experimenting with and developing new fault localization algorithms. Diagnoser takes a source code and its test suite as input and reports the coverage provided by the test cases and the suspiciousness score for each statement.
Part III proposes using software testing as a prominent part of the cyber-physical system software to uncover and model unknown physical behaviors and the underlying physical rules. The reader will get insights into developing software tools to generate white box test data.
Cover Front Matter Part I. Testability Driven Development 1. Software Testability 2. Unit Testing and Test-Driven Development (TDD) 3. Acceptance Testing and Behavior Driven Development (BDD) 4. Testability Driven Development (TsDD) 5. Automatic Refactoring Part II. Automatic Fault Localization 6. Graph Coverage 7. Spectrum-Based Fault Localization 8. Fault Localization Tools: Diagnosis Matrix and Slicing 9. Coincidentally Correct Executions 10. Graph and Frequency-Based Fault Localization Part III. Automatic Test Data Generation 11. Search-Based Testing 12. Testing Unknowns 13. Automatic Test Data Generation Symbolic and Concolic Executions 14. Automatic Test Data Generation for Domain Coverage
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.