Testability Analysis for Polymorphism

J.-C. Lin, Y.-L. Huang, and C-H. Liu (Taiwan)


Descendant-path, Dynamic binding, Inheritance, Method overriding, Reachability, Testability


Software testing is one of the most common ways for assuring quality of software system and software testability can be also recognized as new part of the software quality at the same time. Most of testing methodologies fall into the category of dynamic test, due to the face that more information can be derived during programs execution. On the contrary, in object-oriented software test, the feature of inheritance and polymorphism produces the new obstacle during dynamic testing. Our research in this paper will propose a tester perspective to assess the polymorphism in design stage and this way also provide useful information for developer to probe into the fault that is hidden from test in early stage. In addition, from our polymorphism RATO model, we recognized a new factor of testability in design stage that is referred to as reachability. We think that the main contribution of this paper is providing an alternative tester perspective for developer and can let developer to estimate the polymorphic behavior in class inheritance hierarchy that may cause of test obstacle at design phase. At the same time, this is first literature to propose the polymorphism RATO model modeling polymorphic behavior, and use it as a basis of analytical unit to decompose inheritance class hierarchy. Besides, we overcame the interdiction of lack of testing information during design stage in the past. Metrics of Testability in polymorphism are generated by the polymorphism RATO model, can reveal the information of designing defect at designing stage. Using this information, earlier information, developers can modify its codes, redesign the system, or find another way to fix these defects.

Important Links:

Go Back