Surrogate: A Simulation Apparatus for Continuous Integration Testing in Service Oriented Architecture

CIT (continuous integration testing) has been widely studied in the testing research field in order to start some levels of integration test as early as possible. One challenge of CIT lies in how to simulate the behavior of those unavailable components. Existing methods like stud and mock fail to provide the advanced component simulation capabilities required by CIT from perspectives like diversified program artifacts, behavior transitivity, and configurability. This paper proposes a new simulation apparatus, namely surrogate, to address this problem. The surrogate generator generates platform specific code skeleton from definition of the component to be simulated. The generated code communicates with surrogate engine and returns simulated platform specific behaviors. The surrogate engine simulates component behaviors including both output and possible invocation on dependent components. Moreover, it provides platform independent interfaces and configuration model. Early implementations of surrogate generator and surrogate engine are introduced in detail. To validate the value of surrogate technology in CIT, a case study has been carried out with careful analysis. The result shows that this technology really helps identify some bugs at early stage of development.

[1]  Harlan D. Mills Software Development , 1976, IEEE Transactions on Software Engineering.

[2]  Sule Ozev,et al.  Self-Checking and Self-Diagnosing 32-bit Microprocessor Multiplier , 2006, 2006 IEEE International Test Conference.

[3]  Steve Freeman,et al.  Endo-testing: unit testing with mock objects , 2001 .

[4]  Atif M. Memon,et al.  Model-Based Testing of Community-Driven Open-Source GUI Applications , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[5]  Steve Freeman,et al.  Mock Roles, not Objects , 2004 .