A Study of Test Coverage Adequacy In the Presence of Stubs

The purpose of implementation-based testing is to gain a measure of confidence in the correctness of the software by providing adequate coverage of the code. One unit of testing in object-oriented software is a class. However, classes use other classes and if class interactions form a cycle of dependencies then, to test a client class that uses an untested supplier class, stubs must be constructed to simulate the correct behavior of the untested supplier class. However, an important consideration in using stubs to facilitate testing of a client class is the adequacy of code coverage in the client when the client uses a stub rather than the actual supplier class. In this paper we present a study of test coverage adequacy in the presence of stubs as used to facilitate testing of an object-oriented application. We examine coverage in both cluster and class-based testing of the application and, using the results of our study, we draw some conclusions about the coverage provided when stubs are used in each form of testing. In addition, we study the ability of the tester to meet the specified adequacy criteria for class-based testing in the presence of stubs.

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Tsong Yueh Chen,et al.  In black and white: an integrated approach to class-level testing of object-oriented programs , 1998, TSEM.

[3]  Kuo-Chung Tai,et al.  Test order for inter-class integration testing of object-oriented software , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[4]  Peter J. Clarke,et al.  A Unified Approach to Implementation-Based Testing of Classes , 2002 .

[5]  I. Bashir,et al.  Testing C++ classes , 1994, Proceedings of 1994 1st International Conference on Software Testing, Reliability and Quality Assurance (STRQA'94).

[6]  Wei-Tek Tsai,et al.  Method Sequence Specification and Verification of Classes , 1994, Journal of object-oriented programming.

[7]  Gail E. Kaiser,et al.  Adequate testing and object-oriented programming , 1990 .

[8]  James A. Whittaker,et al.  How to break software security : effective techniques for security testing , 2004 .

[9]  Jean-Marc Jézéquel,et al.  Efficient object-oriented integration and regression testing , 2000, IEEE Trans. Reliab..

[10]  Phyllis G. Frankl,et al.  The ASTOOT approach to testing object-oriented programs , 1994, TSEM.

[11]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[12]  Gregory Tassey,et al.  Prepared for what , 2007 .

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

[14]  Per Capita,et al.  About the authors , 1995, Machine Vision and Applications.

[15]  David Chenho Kung,et al.  A test strategy for object-oriented programs , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

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

[17]  Yvan Labiche,et al.  Testing levels for object-oriented software , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

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

[19]  Lionel C. Briand,et al.  Revisiting strategies for ordering class integration testing in the presence of dependency cycles , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

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

[21]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[22]  Peter J. Clarke,et al.  A parameterized cost model to order classes for class-based testing of C++ applications , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[23]  John D. McGregor,et al.  Incremental Testing Of Object-Oriented Class Structures/spl dagger/ , 1992, International Conference on Software Engineering.