Mapping Implementation-Based Testing Techniques to Object-Oriented Classes

In this paper we describe our taxonomy of object-oriented classes that catalogs each class in an application based on the characteristics of that class. We present a mapping algorithm that matches the class under test to a list of implementation-based testing techniques, providing feedback to the tester describing the characteristics of the class that are suitably tested by each testing technique together with the characteristics that are not suitably tested by any of the testing techniques in the list. Our study shows that the number of entities to be analyzed by a tester when selecting implementation-based testing techniques can be reduced by 50% if the class under test is first cataloged using our taxonomy of OO classes.

[1]  Ravi Sethi,et al.  Programming languages - concepts and constructs , 1988 .

[2]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[3]  John D. McGregor,et al.  Incremental testing of object-oriented class structures , 1992, ICSE '92.

[4]  Patricia Adams,et al.  Programming Languages: Principles and Practice , 1993 .

[5]  Gregg Rothermel,et al.  Performing data flow testing on classes , 1994, SIGSOFT '94.

[6]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[7]  David Chenho Kung,et al.  Object state testing and fault analysis for reliable software systems , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[8]  Rachel Harrison,et al.  An overview of object-oriented design metrics , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[9]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[10]  Betty H. C. Cheng,et al.  A framework for classifying and comparing software reverse engineering and design recovery techniques , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[11]  Alessandro Orso,et al.  Automated Testing of Classes , 2000, ISSTA '00.

[12]  Saurabh Sinha,et al.  Analysis and Testing of Programs with Exception Handling Constructs , 2000, IEEE Trans. Software Eng..

[13]  Bjarne Stroustrup,et al.  The C++ Programming Language: Special Edition , 2000 .

[14]  A. Jefferson Offutt,et al.  Criteria for testing polymorphic relationships , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[15]  Lori L. Pollock,et al.  OMEN: A strategy for testing object-oriented software , 2000, ISSTA '00.

[16]  Mary Jean Harrold,et al.  Testing: a roadmap , 2000, ICSE '00.

[17]  John D. McGregor,et al.  A Practical Guide to Testing Object-Oriented Software , 2001, Addison Wesley object technology series.

[18]  Peter J. Clarke,et al.  Identifying Implementation-Based Testing Techniques for Classes , 2002 .

[19]  Richard H. Carver,et al.  Incremental Integration Testing of Concurrent Programs , 2002, IEEE Trans. Software Eng..

[20]  Peter J. Clarke,et al.  Reveal: a tool to reverse engineer class diagrams , 2002 .

[21]  Peter J. Clarke A Taxonomy of Classes to Support Integration Testing and the Mapping of Implementation-based Testing , 2003 .

[22]  Peter J. Clarke,et al.  Using a taxonomy tool to identify changes in OO software , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[23]  Jana Polgar,et al.  Object-Oriented Software Metrics , 2005, Encyclopedia of Information Science and Technology.