Objectives
This section must be regarded as a preliminary to the introduction of
a framework for testing object-oriented programs.
It discusses the notion of software quality,
including structural criteria, and the various aspects of testing,
including strategical, tactical and operational issues.
The differences between black box and white box testing are
explained, and illustrated with an example.
Also, the various aspects of the test cycle are briefly described.
Finally, an example is given demonstrating the
need to retest when extending a program by inheritance.
Points to emphasize
- software quality -- structural criteria
- testing -- strategy, tactics, operational
- inheritance -- inherited code must be retested
Hints
It is important to stress that exhaustive testing is generally
impossible.
Testing is intrinsically a weak method of software validation.
An adequate design method and protocols to prevent errors
seems to be a better way in which to develop reliable software.
Questions
- What aspects can you distinguish with respect to
software quality?
- Give an example demonstrating
how inheritance may affect tested code.
Comments
You may consult the literature to elaborate on
the issues presented in this section.