Test harnesses
Objective
Given the scientific nature of the software, testing against all
requirements and testing with nominal, boundary case as well as invalid
input data is infeasible.
The test harnesses should verify that for nominal input data the
programs produce sensible results, and that special cases are properly
dealt with.
With such a test harness we can ensure that changes in one part of the
software do not corrupt the functionality of other parts of the system.
Guidelines
Test harnesses should perform the following tests:
- check run-to-completion.
- check whether the output data is valid (e.g. within a specified
range).
- check some of the values in the output to see whether they are correct
(e.g. whether a source is detected where it was put in the first place;
whether a sorted vector is really sorted).
- when the task should explicitly be able to handle special cases, test
whether the special cases are dealt with properly.
Updated on: August 9, 2000