Wednesday, December 06, 2006

[Pub] Testing Event-Driven Business Processes

With new paradigms for software development and software architectures (such as agile software development, service-oriented architectures, IOC containers, etc.) companies are able to respond faster to changes in a business environment. For our sense and respond system SENACTIVE InTime, we developed a testing framework that supports these paradigms by being able to test the correct behavior of event-driven business solutions. With our testing framework we show that software tests can be used to make model assertions for business processes.

We introduce process test specifications, which allow users to define simulation settings, test components, assertions and test scripts in order to make a business process testable. A detailed description can be found in the journal article on testing with event-driven business processes.

In the paper, we also outlined how the proposed concepts can be used for the testing of WS-BPEL processes. Nevertheless, we realized that testing BPEL processes is very hard since it is difficult to intercept process requests and responses. Alone the way BPEL requests and responses are structured (message parts etc.), it requires a great deal of work to handling/integrating this information into a testing framework.

Nevertheless, a BPEL process description includes also some very useful information which can be used for generating realistic input data. In our testing framework, we use a simulator which extracts the control flow of the BPEL process for generating event sequences.

Our testing framework is part of a larger, long-term research effort aiming to making testing an integral part of the management of business processes. Part of this work is the development of a test bed for testing, simulating and benchmarking business process solutions. One of our key ideas to improve our current testing framework is to use a standardized language for the definition of process test specifications.