BPEL Participant Testing Project
The BPTesting project proposes a testing derivation and execution
approach to highlight possible interoperability mismatches in BPEL
orchestrations. Participant testing isperformed by "ad-hoc" test
suites derived by Model Checking techniques. Data generation for
tests is guided by a Genetic Algorithm.
Introduction
Service Oriented Computing is an emerging discipline that promotes and make easier inter-organization integration of software systems. In such a context interoperability issues are considered a primary threat for a correct integration. In this setting, a service orchestration refers to service compositions that foresees the presence of a central point of control and execution (the orchestrator) between many independent participant services.
The Web Service-Business Process Execution Language (BPEL for short) has the great chance to become the leading standard for orchestration of Web Services and from a testing perspective presents important challenges.
Our approach combines model checking and genetic algorithms techniques to derive test cases to be used in order to check the behavior of the services that will play a role within a given orchestration. In particular genetic algorithms techniques are used in order to deal with data generation and to avoid state explosion related issues.
Implementation
Starting form a BPEL description and a set of related WSDL files our framework is able to build a Java model suitable for the model checker Java PathFinder and a genetic algorithm for data generation. Form the model execution we are able to isolate traces of execution and derive test cases for each participant involved.
The implementation is in a early stage of development but we are building the complete infrastructure of the system. Now only a subset of the BPEL language is translated and the model require some manual modification to be executable.
We will appreciate any comment, suggestion or involvement about the projects. See the "People" section for contacts.