Ensuring high object interoperability is a goal of integration testing for object-oriented software. When messages are sent, receiving objects should respond as intended. Ensuring this is especially difficult when software uses components that are developed by different vendors, in different languages, and the implementation sources are not all available. A finite state machines model of inter-operating OO classes was presented in a previous paper. The paper presented methods for identifying the relevant actions of a test component to be integrated into the system, transforming the finite state specification into a control and data flow graph, labeling the graph with all defs and uses of class variables, and presented an algorithm to generate test specifications as specific paths through the directed graph. It also presented empirical results from an automatic tool that was built to support this test method. This paper presents additional details about the tool itself, including how test sequences are generated, how several difficult problems were solved, and the introduction of new capabilities to help automate the transformation of test specifications into executable test cases. The result is a fresh approach to automated testing. It follows accepted theoretical procedures while operating directly on object-oriented software specifications. This yields a data flow graph and executable test cases that adequately cover the graph according to classical graph coverage criteria. The tool supports specification-based testing and helps to bridge the gap between theory and practice.
Citation: The Computer Journal
Pub Type: Journals
data flow, integration testing, inter-operability, object-oriented software, specification-based, testing tools