The use of Web Services such as REST and SOAP is on the rise, as more and more companies choose to expose essential service layer functionalities to allow applications across the domain communicate with one another directly and achieve efficiency and functionality across disparate hardware, operating systems and programming languages. With the expansion in use of Web Services (WS) across all verticals, a need is growing for WS testing, which many companies and software groups overlook as they push their development teams to grow the service oriented architecture (SOA) for their applications. Testing web services is critical to a business’s success, and doing it correctly is the only way to guarantee such success.

With many years of experience with our various clients and customers, Qualitest Group has developed a unique approach and exclusive tools (accelerators) for performing web service testing which is unmatched in the industry. Relying on manual regression testing is inefficient and not a good use of Quality Assurance resources. That’s why Qualitest Group has developed its unique web services testing solution based on automatically generated test scripts and test data.

Automatic Generation of Test Scripts and Test Data

A key part of an efficient testing process for web services is developing automation test scripts. Furthermore, test data must be generated in order to drive the test script. Creating test scripts and test data is expensive and time consuming. Qualitest has developed unique accelerators that speed up this process by automatically generating both test scripts and test data and building up a central, accessible repository of tests and test data. The Qualitest accelerators parse the WSDL, mapping all data fields, mandatory and optional, and automatically building a repository of possible test cases with valid data and invalid data.  Additional business logic test cases can be added to the automation suite by simply filling in the data required for each request.

Qualitest’s unique and exclusive approach to Web Service testing includes setting up a separate server that returns all expected responses to WS requests. This enables testing at the Component level (Unit testing) and also speeds up the process of testing. The automatically generated automation scripts can be setup to execute individually or sequentially for Functional testing, System testing, and Performance testing and oad testing by simply changing the global variables for endpoints, associated databases and input data files. The automatically generated test scripts can be used to test complex business transactions which may involve multiple web service requests. This may be done by simply adding the web services you want to call in sequence in an excel worksheet. This allows for easily incorporating the web testing into the overall quality assurance testing activities. The creation of a central accessible repository of test scripts and test data is the foundation of data-driven testing.

 

 

Service Simulator Setup for Web Services Mocking

Qualitest’s approach to Web Service testing involves setting up a Service Simulator that returns the expected response by mocking the response from the downstream without having to go through the entire stack of services that may be setup in an enterprise service bus environment (ESB). The simulator is comprised of mock services that simulate how the real service would work – even in the case where there are no actual web services delivered yet. This allows you to test before there’s even a web service to test against – so testing can start early, and your scripts will be ready to run when the web service is development complete. Qualitest’s accelerator features automatic WSDL comparison and script updates when a new version of the service is delivered. By hosting mock services on a dedicated server, you avoid the problems of having mock services stored locally on an individual tester’s machine, and also provide an environment for the developers to do their unit testing against.

Multiple Environments for Risk Mitigation

Some risk in Web Service testing comes from having component versions that don’t match up, and therefore cannot be successfully tested together or at the same time. For that reason, Qualitest’s approach employs multiples environments, enabling compatible-version testing of web services. When component versions do not match, testing often stops and waits for all of the components to get back in sync, losing valuable testing time. A testing infrastructure that keeps component versions consistent across the environment guarantees that things keep working and less time is spent or wasted.

Conclusion

While employment of Web Services have many desirable benefits that every business can and should take full advantage of, they come with added overhead and risk. In order to guarantee success and avoid quality issues, testing of web services must be performed early. Web Services have a performance overhead. In order to address this, testing can be performed on a component level using a service simulator on a dedicated server. Testing should be driven from a central, accessible repository of test cases and test data. To reduce test planning and development time, test scripts and test data should be generated automatically using accelerators such as Qualitest Group’s unique solution for web service testing. Following this recipe will ensure that enterprise software projects are completed on time and within the allotted budget. Web Service testing will give the organization the confidence to know what the level of quality of the web services is before they are deployed to production. Deploying only web services that have been thoroughly tested will help avoid introducing quality and performance issues that could affect the application service levels and might negatively affect the end users.