3.3. The Bricks and Mortar of the System: Test Cases
In a sense, everything in the test system—the test processes, the test tools, the reporting formats, the test environment, and so forth—exists to support the execution of test cases. The test case—at least in my model of the test system—is where actions are taken on the system under test, data are supplied to and acted upon by the system under test, and the system under test ends up in some state or states, with resulting outputs and behaviors that testers can compare to expected results. The set of three values—action, data, and expected results—is where the testing happens; where the test conditions are created.
3.3.1. Creating Test Conditions
How exactly are test conditions created? At the highest level, I think of test cases as consisting of a sequence of actions, each action having potentially some associated test data and some associated expected result. Figure 3.4 gives a graphical illustration of the process, which I'll walk through in detail in the next few paragraphs.
Figure 3.4. Creating test conditions through test case execution.
Assume that we start at step one of a test case, the first action to be taken. The system is in whatever initial condition is reached from the test suite and test case setup steps. Following our test procedures, system documentation, or inspiration, we deliver some data to the system ...