Introduction to Software TestingCambridge University Press, 2017 - 345 Seiten This extensively classroom-tested text takes an innovative approach to explaining software testing that defines it as the process of applying a few precise, general-purpose criteria to a structure or model of the software. The book incorporates cutting-edge developments, including techniques to test modern types of software such as OO, web applications, and embedded software. This revised second edition significantly expands coverage of the basics, thoroughly discussing test automaton frameworks, and it adds new, improved examples and numerous exercises. The theory of coverage criteria is carefully and cleanly explained to help students understand concepts before delving into practical applications, while extensive use of the JUnit test framework gives students practical experience in a test framework popular in the industry. Exercises, meanwhile, feature specifically tailored tools that allow students to check their own work. The book's website also offers an instructor's manual, PowerPoint slides, testing tools for students, and example software programs in Java. |
Inhalt
Why Do We Test Software? | 3 |
ModelDriven Test Design | 19 |
Test Automation | 35 |
Putting Testing First | 54 |
CriteriaBased Test Design | 64 |
Input Space Partitioning | 75 |
Graph Coverage | 106 |
Logic Coverage | 177 |
SyntaxBased Testing | 234 |
Managing the Test Process | 285 |
Writing Test Plans | 292 |
Regression Testing for Evolving Software | 304 |
List of Criteria | 316 |
337 | |
Andere Ausgaben - Alle anzeigen
Häufige Begriffe und Wortgruppen
Active Clause Coverage agile methods base choice behavior block book website boolean CACC called Chapter characteristics component Consider control flow graph coverage criteria criterion data flow defined definition design tests du-paths Edge Coverage evaluates example execution false fault Figure finite state machine FSMs GACC grammar graph coverage implementation input space integration testing iSub Iterator Java JUnit Karnaugh map logic coverage loop major clause method model-based testing mutation operators Node Coverage object Offutt output pairs parameters partitioning Path Coverage possible Predicate Coverage problem public void RACC reachability regression testing regular expression satisfy sidetrips simple paths software engineering software testing specific statement string structure subpath subsumes subsumption Table terminal symbol test automation test case values test criteria test design test doubles test engineer test inputs test paths test set tester tour unit testing variable