Part II Foundations of Software Testing

Whereas in the previous part, we looked at software, software qualities, software engineering, and the role that testing plays in the software engineering process, in this part, we focus our attention on software testing and survey its foundations. This part includes four chapters:

  • In Chapter 4, we discuss a relation-based specification model that we use throughout the book; specifications play a central role in software testing, as we always test a program against a specification that captures the properties we are interested in.
  • In Chapter 5, we define the concept of program correctness, and we briefly present an inductive method to prove program correctness by static analysis.
  • In Chapter 6, we introduce the fundamental concepts of fault, error, failure, and relative correctness and discuss how these concepts can be used to elucidate the goals and means of software testing.
  • Finally, in Chapter 7, we present a software testing taxonomy, which characterizes each testing effort by a number of (nearly) orthogonal attributes.

Get Software Testing: Concepts and Operations now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.