Recently, a growing interest on robustness testing of services composition is emerging. In this paper, we propose a robustness testing approach of services composition by means of fault injection of the BPEL process. The proposed solution is implemented into the existing TASSA framework aimed at functional and non-functional testing of service applications. A case study is provided for assessing the effectiveness of the proposed approach.
INTRODUCTIONSOA (Service Oriented Architecture) is the emerging paradigm for dynamic development and deployment of distributed business applications. Several approaches and tools for SOA testing have been proposed, among which recently an interest towards robustness testing starts to appear, although not many solutions can be found.Testing compositions of services, such as orchestrations or choreographies, poses specific challenges ranging from testing the SOAP messages, the WSDL interface, and the interaction between the service provider and requester as well as the composition schema which defines the business logic of the composite service.We focus here on the testing of BPEL compositions. Existing approaches for BPEL testing deal with structural testing, test coverage through instrumentation, as well as test case generation by path analysis and constraint-solving techniques or model checking.However, in order to build a robust service composition, it is needed to test it against a number of faulty conditions or exceptional cases that can involve the participant services, the BPEL process or the execution environment. For this purpose, new testing approaches focus on the development of testing frameworks able to assess and enhance the robustness of services composition.Following this research direction, in this paper we propose a robustness testing approach of services composition by means of fault injection into the BPEL process. The approach is realized by implementing a new Injector Tool component into TASSA [9], a composable and flexible framework for validating both functional and non-functional behaviour of service-based applications. The Injector Tool component is able to change the BPEL for calling another service (TAXI-WS [2]) that simulates faults of the BPEL process by injecting it with invalid, boundary, and unexpected or random data.The remainder of the paper is organized as follows: in Section 2 we summarize the existing approaches of BPEL validation focusing on those ones addressing robustness testing; in Section 3 we briefly overview the TASSA components and provide the TASSA Injector Tool implementation details. Section 4 presents the proposed approach focusing on the fault injection technique. Section 5 provides a case study showing the potentiality of the proposed Injector Tool into TASSA for assessing the robustness of a BPEL process. Finally, Section 6 concludes the paper and outlines the future research directions.