Service-Oriented Architectures (SOA) allows software applications to interoperate in a new way in distributed environment. Currently, web services are the most widely adopted technology for implementation of SOA. However, they bring a number of challenges to development as well as to testing. Testing web service compositions is one of the major problems in SOA domain that is due to the unknown context, absence of web service source code, multiple provider coordination, lack of tool support, etc. In such context, the paper proposes a framework, named Testing as a Service Software Architecture (TASSA), which aims to provide design time testing of both functional and nonfunctional behavior of web service compositions described with Business Process Execution Language (BPEL). TASSA consists of set of tools that can be used together with existing development environments of service based applications. The paper focuses on an approach for negative testing and unit testing of BPEL processes. The negative testing is supported by TASSA tool, called Fault Injector tool, which implements a fault injection technique providing message delays, wrong message data, etc. The goal of unit testing is to test a BPEL process in isolation from its dependent web services. The isolation technique is implemented in another TASSA tool, named Isolation tool. |