Effect of Class Testing on the Reliability of Object-Oriented Programs
Mei-Hwa Chen and Ming-Hung H. Kao
Computer Science Department
University at Albany
State University of New York
Albany, NY12222
ABSTRACT
Although object-oriented programming has been increasingly adopted for
software development and many approaches for testing object-oriented
programs have been proposed, the issue of reliability of
object-oriented programs has not been explored.
The objective of this study was to investigate the effectiveness
of class testing from the perspective of reliability.
The experiments in this study involved testing and measuring
the reliability of a C++ program and a Java program. We introduced
a class testing technique that exploits the function dependence
relationship to reduce testing effort in subclass testing and in testing
polymorphism without degrading the reliability of object-oriented programs.
The impact of function dependence class testing on reliability
was compared with two other techniques: exhaustive class testing, which
flattens every class and tests every function in the class; and minimal
class testing which tests only new and re-defined functions.
The results show that function dependence class testing preserves the
same level of program reliability as does exhaustive class testing,
while the effort is significant reduced.
We also conducted an experiment to observe the relationship between
the binding coverage and the reliability of the program. The results
suggest that testing possible bindings is necessary, and using the function
dependence relationship to determine which bindings to cover in testing
is sufficient.