Software Test Models and Implementation of Associated Test Drivers.
Interim rept. Jan 78-Jun 79,
POLYTECHNIC INST OF NEW YORK BROOKLYN
Pagination or Media Count:
In the past, more software tests were constructed by heuristics and by drawing upon experience with similar software. Recently, enough preliminary work has been done to propose an analytical construction of test cases. This report begins by defining five broad classes of software tests Type 0, Type 1, Type 2, Type 3 and Type 4. In a Type 0 test, all instructions are exercised at least once. In a type 1 and 2 test, all flowchart paths are exercised at least once. Type 1 is performed by forced traversal and Type 2 by natural execution. Types 3 and 4 correspond to an exhaustive interaction of all INPUT AND STORED DATA. clearly, Types 3 and 4 are unfeasible and only a strategy lying between Type 1 and 2 can effectively be implemented. Since enumeration of all the paths in a given program is required for Type 1 and 2 tests, this report establishes the lower and upper bounds on the number of paths as a function of the number of deciders, describes a manual decomposition procedure to cut a graph into smaller subgraphs, and proposes an algorithm to machine-identify all paths. A complete Type 1.5 driver system for forced path traversal, implemented in PL1, is then thoroughly described, together with suggestions on how to extend these techniques to other languages. A typical program is analyzed manually, tested with data and run through the system. Some evaluation of the usefulness of the system is eventually given in the light of the accumulated experience. Author
- Computer Programming and Software