The test model is a representation of what will be tested and how it will be tested . It is a view of the design and implementation models, depicting the tests themselves , as well as aspects of the target-of-test that are relevant to the testing effort. It includes the collection of the test cases, test procedures, test scripts, and expected test results along with a description of their relationships.
The test model includes the following:
Test cases
The set of test data, execution conditions, and expected test results developed for a specific test objective. Test cases can be derived from use cases, design documents, or the software code. A test case can be implemented by one or more test procedures.
Test procedures
The set of detailed instructions for the setup, execution, and evaluation of test results for test cases. A test procedure implements one or more test cases. A test procedure may also implement only part of a test case, such as some alternate flow in a use case.
Test scripts
The computer-readable instructions that automate the execution of test procedures. A test script automates the execution of (the whole or parts of) one or more test procedures.
Test classes and components
The classes and components that realize the test designs, including drivers and stubs.
Test collaborations
The collaborations, represented as collaboration or sequence diagrams, that depict time- sequenced message flow between test components and targets-of-test that occur during testing.
Notes
Textual information that describes constraints or additional information used in the test model. Notes can be attached to any test model element.
Figure 12-1 shows the major elements in the test model and their relationships.