Clarke, P.J. and Babich, D. and King, T.M and Power, J.F.
Intra-Class Testing of Abstract Class Features.
In: Proceedings 18th IEEE International Symposium on Software Reliability Engineering ISSRE 2007, 5–9 November 2007, Trollhättan, Sweden .
One of the characteristics of the increasingly widespread
use of object-oriented libraries and the resulting intensive
use of inheritance is the proliferation of dependencies on
abstract classes. Such classes defer the implementation of
some features, and are typically used as a specification or
design tool. However, since their features are not fully implemented,abstract classes cannot be instantiated, and thus pose challenges for execution-based testing strategies.
This paper presents a structured approach that supports
the testing of features in abstract classes. Core to the approach is a series of static analysis steps that build a comprehensive view of the inter-class dependencies in the system under test. We then leveraged this information to define a test order for the methods in an abstract class that minimizes the number of stubs required during testing, and clearly identifies the required functionality of these stubs.
Our approach is based on a comprehensive taxonomy of
object-oriented classes that provides a framework for our
analysis. First we describe the algorithms to calculate the
inter-class dependencies and the test-order that minimizes
stub creation. Then we give an overview of our tool, AbstractTestJ that implements our approach by generating a
test order for the methods in an abstract Java class. Finally, we harness this tool to provide an analysis of 12 substantial Java applications that demonstrates both the feasibility of our approach and the importance of this technique.
Conference or Workshop Item
||©2007 IEEE. Reprinted from Proceedings 18th IEEE International Symposium on Software Reliability Engineering ISSRE 2007. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE." http://www.ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4402210&isnumber=4402181
||Software engineering; Object oriented; Inheritance;
||Science & Engineering > Computer Science
Dr. James Power
||14 Apr 2009 16:08
Repository Staff Only(login required)
||Item control page