An Overview of Integration Testing Techniques for Object-Oriented Programs

Object-oriented programs involve many unique features that are not present in their conventional counterparts. Examples are message passing, synchronization, dynamic binding, object instantiation, persistence, encapsulation, inheritance, and polymorphism. Integration testing for such programs is, therefore, more difficult than that for conventional programs. In this paper, we present an overview of current work on integration testing for object-oriented and/or concurrent programs, with a view to identifying areas for future research. We cover state-based testing, eventbased testing, fault-based testing, deterministic and reachability techniques, and formal and semiformal techniques.

[1]  Tsong Yueh Chen,et al.  TACCLE: a methodology for object-oriented software testing at the class and cluster levels , 2001, TSEM.

[2]  John A. Clark,et al.  Investigating the effectiveness of object‐oriented testing strategies using the mutation method , 2001 .

[3]  R.A. DeMillo,et al.  An extended overview of the Mothra software testing environment , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

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

[5]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, UML.

[6]  Ian M. Holland,et al.  Contracts: specifying behavioral compositions in object-oriented systems , 1990, OOPSLA/ECOOP '90.

[7]  Shing-Chi Cheung,et al.  Context constraints for compositional reachability analysis , 1996, TSEM.

[8]  Richard H. Carver,et al.  Use of sequencing constraints for specification-based testing of concurrent programs , 1998 .

[9]  Tsong Yueh Chen,et al.  Error Detection in C++ through Dynamic Data Flow Analysis , 1997, Softw. Concepts Tools.

[10]  J. A. McDermid,et al.  Investigating the Effectiveness of Object-Oriented Testing Strategies with the Mutation MethodSun-Woo Kim, John A. Clark *, John A. McDermid , 2001 .

[11]  Jehad Al Dallal,et al.  Dynamic data flow analysis for Java programs , 2000, Inf. Softw. Technol..

[12]  José Meseguer,et al.  Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics , 1987, Research Directions in Object-Oriented Programming.

[13]  Gwan-Hwan Hwang,et al.  Reachability testing: an approach to testing concurrent software , 1994, Proceedings of 1st Asia-Pacific Software Engineering Conference.

[14]  Sarfraz Khurshid,et al.  Korat: automated testing based on Java predicates , 2002, ISSTA '02.

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

[16]  Derek L. Bruening Systematic testing of multithreaded Java programs , 1999 .

[17]  Steve A. Schneider,et al.  Concurrent and Real-time Systems: The CSP Approach , 1999 .

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

[19]  Jehad Al Dallal,et al.  Anomaly detection in concurrent Java programs using dynamic data flow analysis , 2001, Inf. Softw. Technol..

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

[21]  S. Ramesh,et al.  Apportioning: A Technique for Efficient Reachability Analysis of Concurrent Object-Oriented Programs , 2001, IEEE Trans. Software Eng..

[22]  Kai-Hsiung Chang,et al.  Testing object-oriented programs: from formal specification to test scenario generation , 1998, J. Syst. Softw..

[23]  Byoungju Choi,et al.  Mutation-based inter-class testing , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

[24]  Fun Ting Chan,et al.  AIDA–A dynamic data flow anomaly detection system for pascal programs , 1987, Softw. Pract. Exp..

[25]  Doo-Hwan Bae,et al.  High-level Petri net for incremental analysis of object-oriented system requirements , 2001, IEE Proc. Softw..

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

[27]  Byeong Man Kim,et al.  The design and implementation of automata-based testing environment for Java multi-thread programs , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[28]  Michael Burrows,et al.  Eraser: a dynamic data race detector for multithreaded programs , 1997, TOCS.

[29]  Jong-Deok Choi,et al.  Efficient and precise datarace detection for multithreaded object-oriented programs , 2002, PLDI '02.

[30]  Graeme Smith,et al.  The Object-Z Specification Language , 1999, Advances in Formal Methods.

[31]  John Derrick,et al.  Specification, Refinement and Verification of Concurrent Systems—An Integration of Object-Z and CSP , 2001, Formal Methods Syst. Des..