ABSTRACT

This updated and reorganized fourth edition of Software Testing: A Craftsman's Approach applies the strong mathematics content of previous editions to a coherent treatment of Model-Based Testing for both code-based (structural) and specification-based (functional) testing. These techniques are extended from the usual unit testing discussions to full coverage of less understood levels integration and system testing. 

The Fourth Edition:

  • Emphasizes technical inspections and is supplemented by an appendix with a full package of documents required for a sample Use Case technical inspection
  • Introduces an innovative approach that merges the Event-Driven Petri Nets from the earlier editions with the "Swim Lane" concept from the Unified Modeling Language (UML) that permits model-based testing for four levels of interaction among constituents in a System of Systems
  • Introduces model-based development and provides an explanation of how to conduct testing within model-based development environments
  • Presents a new section on methods for testing software in an Agile programming environment
  • Explores test-driven development, reexamines all-pairs testing, and explains the four contexts of software testing

Thoroughly revised and updated, Software Testing: A Craftsman’s Approach, Fourth Edition is sure to become a standard reference for those who need to stay up to date with evolving technologies in software testing. Carrying on the tradition of previous editions, it will continue to serve as a valuable reference for software testers, developers, and engineers.

part I|75 pages

A Mathematical Context

chapter 1|11 pages

A Perspective on Testing

chapter 2|19 pages

Examples

chapter 3|18 pages

Discrete Math for Testers

chapter 4|23 pages

Graph Theory for Testers

part II|127 pages

Unit Testing

chapter 5|19 pages

Boundary Value Testing

chapter 6|17 pages

Equivalence Class Testing

chapter 7|15 pages

Decision Table–Based Testing

chapter 8|26 pages

Path Testing

chapter 9|25 pages

Data Flow Testing

chapter 10|19 pages

Retrospective on Unit Testing

part III|234 pages

Beyond Unit Testing

chapter 11|13 pages

Life Cycle–Based Testing

chapter 12|7 pages

Model-Based Testing

chapter 13|23 pages

Integration Testing

chapter 14|41 pages

System Testing

chapter 15|36 pages

Object-Oriented Testing

chapter 16|18 pages

Software Complexity

chapter 17|19 pages

Model-Based Testing for Systems of Systems

chapter 18|6 pages

Exploratory Testing

chapter 19|19 pages

Test-Driven Development

chapter 20|12 pages

A Closer Look at All Pairs Testing

chapter 21|9 pages

Evaluating Test Cases

chapter 22|16 pages

Software Technical Reviews

chapter 23|6 pages

Epilogue: Software Testing Excellence