23.03.2013 Views

Agile Performance Testing - Testing Experience

Agile Performance Testing - Testing Experience

Agile Performance Testing - Testing Experience

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Many testing techniques and methodologies developed over the<br />

years also apply to web services based SOA systems. Through<br />

functional, regression, unit, integration, system and process level<br />

testing, the primary objective of testing methodologies is to increase<br />

confidence that the target system will deliver functionality<br />

in a robust, scalable, interoperable and secure manner.<br />

Web services are the foundation of modern Service Oriented Architecture<br />

(SOA). Typical web services include message exchange<br />

between front end and back end using SOAP requests and responses<br />

over the HTTP protocol.<br />

A web service producer advertises its services to potential consumers<br />

through Web Services Description Language (WSDL) – which<br />

is an XML file that has details of available operations, execution<br />

end-points and expected SOAP request-response structures.<br />

Techniques such as Black, White and Gray Box testing applied to<br />

traditional systems map also well into web services deployments.<br />

However, the following characteristics of web services deployments<br />

present unique testing challenges:<br />

• Web services are basically distributed and are platform and<br />

language-independent.<br />

• Web services can be linked to dependencies on other thirdparty<br />

Web Services that can change without notice.<br />

SOA frameworks are a combination of web components, midtier<br />

components, back-end and legacy systems. Unlike traditional<br />

testing approaches, the SOA testing approach should include all<br />

the aspects of business processes and also the integration framework.<br />

The SOA test strategy should not only focus on just the functionality<br />

or the front-end clients, but also on the integration layers.<br />

It is therefore necessary to keep all these factors in mind when<br />

creating an SOA test plan or strategy.<br />

The following types of testing should be performed to ensure proper<br />

end-to-end testing which enables coverage of the integration<br />

framework:<br />

• Functional testing<br />

• Interoperability testing<br />

• <strong>Performance</strong> testing<br />

• Security testing<br />

To test SOA, you need to go far beyond merely testing a user interface<br />

or browser screen, as you will never find an attractive UI<br />

© Thomas Brugger - Fotolia.com<br />

<strong>Testing</strong> SOA - An Overview<br />

by Himanshu Joshi<br />

while testing these apps. Some of the major challenges for SOA<br />

testing include:<br />

• No user interface for the services in SOA<br />

• Application’s lack of visibility into loosely coupled business<br />

level services<br />

• Dependency on availability of any internal or external services<br />

that offer a business function to perform end-to-end<br />

testing.<br />

The following aspects needs to be kept in mind when preparing<br />

an SOA test approach:<br />

• A web service is an application without UI.<br />

• A GUI application should be developed<br />

• Changes to web service interfaces often demand GUI changes<br />

• Security testing of any web services that require encrypted<br />

and signed data is not possible<br />

• A web service should be validated for the client as well as at<br />

the service level.<br />

• The overall cost involved is very high for testing, development<br />

& maintenance.<br />

• Maintaining a pool of testing resources with SOA domain<br />

knowledge<br />

While testing web services, SOAP requests need to be generated<br />

manually or using a supported third-party vendor testing tool.<br />

Integrating a traditional functional testing tool or other thirdparty<br />

tools of this kind is not feasible due to their nature and limitations.<br />

Therefore some other web services testing tools come<br />

into question.<br />

These tools provide robust, reliable, scalable and interoperable<br />

solutions. They are suitable for UI less testing. Just enter the<br />

WSDL location and they can create basic functional tests for you.<br />

Most of the tools even check your WSDL compliance to WS-I. They<br />

also support asynchronous testing and data-driven testing using<br />

data sources.<br />

These test tools provide a solution for load testing and one of<br />

their best features is their ability to fully reuse the functional<br />

tests for load testing, which saves precious time.<br />

Tools like SOAtest (http://www.parasoft.com) integrate with Qua-<br />

84 The Magazine for Professional Testers www.testingexperience.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!