In this chapter, I’m going to cover static testing, the most notable form of which is the review. Static testing, done properly, is the most efficient category of testing in terms of the financial and schedule benefits yielded for the money and time invested.
Static testing is commonly defined as the testing of the system under test without execution, but that defines what static testing isn’t, not what it is. Let’s take a closer look at static testing.
Most broadly, you can think of static testing as the evaluation of representations of the system under test. The system under test is a collection of hardware, executable software, data, networking connections, and other tangible and intangible items. Representations of the system under test include requirements and design specifications. Representations of the system under test also include the source code itself, both in terms of high-level languages and database metadata.
The most common forms of static testing are reviews, walk-throughs, and inspections, all of which I’ll refer to generally as reviews. Reviews frequently focus on requirements specifications, design specifications, and source code. These activities vary on a spectrum from informal to very formal.
However, representations of the system under test include dataflow diagrams, entity-relationship diagrams, and other document models of the system, and you can review those too. A diagram of a complex ...