An Approach of Integration Testing for Object-Oriented Programs - Li, Zhe (Jessie) (My University, 2007)
Object-oriented programs have many unique features that are not present in conventional programs, such as Inheritance, Polymorphism, Dynamic binding and Encapsulation, etc. Hence, testing object-oriented programs using only traditional techniques is unlikely to find the faults associated with these features. A study shows that approximately 40% of software errors can be traced to component interaction problems discovered during integration. Integration testing is an important part of the testing process. However, few integration testing techniques have been systematically studied or defined.
The goal of this research is to develop an approach for automatic test case execution at the integration level. The approach is based on the concept of Coordination Contract, which was developed by J. Fiadeiro and L. Andrade. A coordination contract is a connection between a group of objects. Through contracts, rules and constraints are superposed on the behavior of the participants without interfering with their implementation. Due to the contract's character, integration test case execution and test result evaluation are suitably implemented by contracts. A tool has been developed to automatically generate the relevant contracts to implement integration test cases generated by some mechanism for test case generation.
In recent years, more and more software developers use the Unified Modeling Language (UML) and corresponding visual modeling tools to design and develop their application software. So we are using UML sequence diagrams and class diagrams as integration testing specifications. Actually, there are few practical tools to generate test cases from UML, and even fewer tools to execute test cases. Therefore, the result of this research will play an important role in testing object-oriented programs at the integration level. Our accomplishment makes some progress in the integration testing for object-oriented programs.
Keywords: integration testing, object-oriented programs, inheritance, polymorphism, UML, visual modeling, design