A comprehensive and systematic methodology for client-server class integration testing

This article is a first attempt towards a comprehensive, systematic methodology for class interface testing in the context of client/server relationships. The proposed approach builds on and combines existing techniques. It first consists in selecting a subset of the method sequences defined for the class testing of the client class, based on an analysis of the interactions between the client and the server methods. Coupling information is then used to determine the conditions, i.e., values for parameters and data members, under which the selected client method sequences are to be executed so as to exercise the interaction. The approach is illustrated by means of an abstract example and its cost-effectiveness is evaluated through a case study.

[1]  A. Jefferson Offutt,et al.  Coupling‐based criteria for integration testing , 1998 .

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

[3]  Paul C. Jorgensen,et al.  Object-oriented integration testing , 1994, CACM.

[4]  Lionel C. Briand,et al.  Toward a Comprehensive and Systematic Methodology for Class Integration Testing , 2003 .

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

[6]  Imran Bashir,et al.  Testing Object-Oriented Software , 1999, Springer New York.

[7]  James M. Bieman,et al.  Fault detection capabilities of coupling-based OO testing , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[8]  Giuliano Antoniol,et al.  A case study using the round-trip strategy for state-based class testing , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

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

[10]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[11]  Claude Caci,et al.  Testing object-oriented systems , 2000, SOEN.

[12]  Imran Bashir,et al.  Testing object-oriented software - life cycle solutions , 1999 .

[13]  Lionel C. Briand,et al.  An Investigation of Graph-Based Class Integration Test Order Strategies , 2003, IEEE Trans. Software Eng..

[14]  A. Jefferson Offutt,et al.  Generating Tests from UML Specifications , 1999, UML.

[15]  Alessandro Orso,et al.  Interclass testing of object oriented software , 2002, Eighth IEEE International Conference on Engineering of Complex Computer Systems, 2002. Proceedings..

[16]  Barbara G. Ryder,et al.  Interprocedural Def-Use Associations for C Systems with Single Level Pointers , 1994, IEEE Trans. Software Eng..

[17]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[18]  Aditya P. Mathur,et al.  Interface Mutation: An Approach for Integration Testing , 2001, IEEE Trans. Software Eng..

[19]  Lionel C. Briand,et al.  Using genetic algorithms and coupling measures to devise optimal integration test orders , 2002, SEKE '02.

[20]  K. C. Tai,et al.  Measuring the effectiveness of method test sequences derived from sequencing constraints , 1999, Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278).

[21]  A. Jefferson Offutt,et al.  Inter-class mutation operators for Java , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[22]  Yvan Labiche,et al.  Experimenting with Genetic Algorithms to Devise Optimal Integration Test Orders , 2003 .