A Technique for Model-Based Testing of Classes

Proceedings of the Second International Workshop on Software Engineering Tools and Techniques |

Classes form the basic unit of abstraction in the object-oriented (OO) programming paradigm of software development. Therefore, testing of classes is fundamental to testing an OO software system.

In this paper, we present a technique to automatically test a class based on an object-model specification. The novelty of the technique is that it defines a notion of coverage for specification-based testing. Two forms of coverage are defined:  edge coverage and dependence on coverage. These coverage guarantee that all methods of the class and all pair-wise interactions between are tested.

Algorithms to generate test-cases from the specification are presented, and we show that these algorithms guarantee the two kinds of overage. The algorithms are polynomial in the worst-case and therefore, promise good performance in practice.