A taxonomy of classes to support integration testing and the mapping of implementation-based testing techniques to classes
Brian A. Malloy, Peter Clarke · 2003
The widespread use of the object-oriented (OO) paradigm to develop software systems has resulted in the class becoming the basic test unit. The class structure is more complex than the traditional test unit, the subprogram , due to the possible combinations of the OO properties exhibited by the features (data items and methods) of the class. These properties include: typing, accessibility, polymorphism, dynamic binding, exception handling, and concurrency. In addition, the relationships between classes in a system component have become more complex. As a result of this complexity in both the class structure and inter-class relationships, testers are spending more time analyzing the source code before the actual testing process begins. This analysis is required so that the tester can decide on the appropriate class integration test order and which testing techniques are most appropriate to adequately testing each class in the application. A Taxonomy of Object-Oriented (OO) Classes of classes. My taxonomy of OO classes catalogs an OO class based on the characteristics exhibited by that class. The characteristics of a class include the properties of its features (data items and methods) and its relationships with other classes. Using the information captured by my taxonomy I extend an existing class integration test strategy to: (1) order concrete derived classes instances of parameterized classes based on the actual types of their parameters. Finally, I develop an algorithm to map implementation-based testing techniques to a class under test. This mapping process identifies those implementation-based testing techniques that can be used to suitably test a class based on the characteristics of the class under test.