An Approach to Integration Testing of Object-Oriented Programs

Object-oriented programming has some unique features which facilitate software reuse and component-based development. However, testing object-oriented programs using only traditional techniques is unlikely to find the faults caused by these features. The problem is that few integration testing techniques have been systematically studied or defined. We present a novel approach to generate and execute test cases for object-oriented programs from UML diagrams. We have designed an approach to implement test cases using the concept of coordination contract. A coordination contract, related to the idea of the active association class in UML, defines connections among a group of objects without interfering with their implementations. By using the contract, test case generation and execution can be completed automatically. A prototype tool has been developed to automatically derive the contracts based on the mechanism of test case generation mentioned above.