SOA Testing TechniquesWebAdmin
SOA Testing Tools for Black, White and Gray Box Web Services are the foundations of modern Service Oriented Architecture (SOA). Typical Web Services include message exchange between a consumer and a producer using SOAP request and responses over the ubiquitous HTTP protocol. A Web service producer advertises its services to potential consumers through Web Services Description Language (WSDL) – an XML file that contains details of available operations, execution endpoints and expected SOAP request-response structures. Many testing techniques and methodologies developed over the years apply to Web Services-based SOA systems as well. Through functional, regression, unit, integration, system and process level testing, the primary objective of testing methodologies is to increase confidence that the target system will deliver functionality in a robust, scalable, interoperable and secure manner. Techniques such as Black, White and Gray Box testing applied to traditional systems map well into Web Services deployments. However, the following characteristics of a Web Services deployments introduce unique testing challenges:
- Web Services are intrinsically distributed and are platform and language agnostic.
- Web Services can be chained with dependencies on other 3rd party Web Services that can change without notice.
- Web Services ownership is shared across various stakeholders.
- Web Services client developers typically only have access to interfaces (WSDLs) and lack access to code.
In this paper, we will investigate testing techniques and their application to Web Services. We will use a simple sample Web service to illustrate each of these techniques and the relative strengths and weaknesses of such techniques. Finally, a novel approach that extends Gray Box’s reach into realm of White Box testing by leveraging the rich information provided in the WSDL file will be described.