State-based reproducible testing for CORBA applications

Reproducible testing approaches have been developed for traditional concurrent programs for over a decade to provide a deterministic way of testing, but those approaches are generally based on the control structure of the program. However in recently revitalized component based software development, state-based testing is more important than control structure based testing because such components are usually implemented using the object-oriented paradigm. We propose a dynamic state-based reproducible testing approach for a component software that each component can change the system state nondeterministically during the concurrent execution in a Common Object Request Broker Architecture (CORBA) environment. We use a replay controller for a given state sequence from a statechart-like model of each component. The replay controller is designed to force the order of the program's execution based on the given state sequence. Unlike the static state analysis of a program, our approach dynamically executes the actual program components under the control of the replay controller for a selected state sequence. With this state-based reproducible testing approach, testers can detect state behavioral errors of a component software dynamically and deterministically.

[1]  Richard H. Carver,et al.  Replay and testing for concurrent programs , 1991, IEEE Software.

[2]  David Chenho Kung,et al.  On object state testing , 1994, Proceedings Eighteenth Annual International Computer Software and Applications Conference (COMPSAC 94).

[3]  David Lorge Parnas,et al.  Using Test Oracles Generated from Program Documentation , 1998, IEEE Trans. Software Eng..

[4]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[5]  Dan Harkey,et al.  Client/Server programming with Java and Corba , 1997 .

[6]  David Harel,et al.  Executable object modeling with statecharts , 1997, Computer.

[7]  David Harel,et al.  On visual formalisms , 1988, CACM.

[8]  André Schiper,et al.  Execution replay on distributed memory architectures , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.

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

[10]  Wei-Tek Tsai,et al.  Method Sequence Specification and Verification of Classes , 1994, Journal of object-oriented programming.

[11]  Debra J. Richardson,et al.  Specification-based test oracles for reactive systems , 1992, International Conference on Software Engineering.

[12]  David Lorge Parnas,et al.  Generating a test oracle from program documentation: work in progress , 1994, ISSTA '94.

[13]  B. Eng,et al.  GENERATING A TEST ORACLE FROM PROGRAM DOCUMENTATION , 1995 .

[14]  Sriram Sankar,et al.  Software Testing Using Algebraic Specification Based Test Oracles , 1993 .

[15]  Jeffrey J. P. Tsai,et al.  A Noninterference Monitoring and Replay Mechanism for Real-Time Software Testing and Debugging , 1990, IEEE Trans. Software Eng..