Welcome!

SOA & WOA Authors: Salvatore Genovese, Yeshim Deniz, Mark O'Neill, Irfan Khan, Vikas Aggarwal

Related Topics: SOA & WOA, Java

SOA & WOA: Article

Choosing the Best Testing Tools to Increase Project Productivity

Start preventing errors throughout the software development life cycle

Development and Maintenance of Homegrown Tools
Some IT teams may create their own tools, such as client emulators, in-house in order to facilitate functional testing. At the same time, a load generation tool may be purchased that requires proprietary scripts to be written. The creation and use of such homegrown tools and scripts not only adds overhead to the project, but such tools are also impossible to maintain as Web service complexity and industry standards evolve and mature.

Choose a single tool that can automatically generate a suite of test cases using WSDL and HTTP traffic. In addition, the ability to leverage tests from unit testing through load testing allows more test cases to be generated - ensuring greater coverage and quality of the service while minimizing business risks of production failure or production-level error.

Incomplete Testing
The scope of testing provided by in-house applications is generally limited and does not cover all of the aspects needed to verify a Web service. Aspects such as security, interoperability, functionality, reliability, and availability are not verified due to these limitations. As a result, businesses face an exponential increase in financial risk.

For example, rather than testing a Web service directly at the code level, organizations may utilize some GUI-based client to consume the Web service. However, dependence on GUI-based testing of a Web service is limited and restricted to only the types of messages that the GUI-based client is built to generate. With most Web ser-vices, it is impossible to anticipate exactly what types of requests clients will send. Real-world partners and consumers of a Web service are certain to send different types of requests, negative inputs, and bad data to the Web service that the GUI-based client has not even considered. In addition, maintaining and expanding a GUI-based testing application would result in numerous and unnecessary productivity losses in order to perform only limited, indirect testing of a Web service. In order to completely and thoroughly test a Web service, you must be able to emulate many of the types of clients that might access the server, and verify that the server will behave as expected in relation to any type of client request.

The best testing tools increase the scope of testing by providing the flexibility to manipulate messages in order to directly and thoroughly test the Web service. Tools should be able to perform code-based testing of the Web service and isolate and test the data at the API and message layer of the service. By testing the API and services layer, developers can verify whether the Web service can handle a wide range of request types and parameters. By checking for the conditions and inputs that are not expected, you enable more thorough tests for what cannot be foreseen. By performing such testing at the unit and application level, you can quickly and easily identify and correct any weaknesses before security breaches have the opportunity to occur.

Summary
As seen throughout this article, there are countless opportunities for things to go wrong during Web services development - a slight mistake in any component or interface will cause problems that ripple throughout the system. Developers must ensure that each part of the system is reliable, and that all of these parts interact flawlessly and securely.

As organizations rely more heavily on Web services to drive their business processes, it is critical for Web services developers to have a proven solution to test the complex layers of Web services and to create an efficient and bulletproof testing process without being riddled with the common problems discussed earlier. The Parasoft Web Services Solution not only provides clear and practical guidelines for testing, but also provides a cohesive team workflow that makes the most efficient use of project assets across the organization. To learn more about Parasoft Web Services Solutions, or any of Parasoft's Automated Error Prevention Solutions, please visit www.parasoft.com/SOAtest_WSJ.

More Stories By Adam Kolawa

Adam Kolawa is the co-founder and CEO of Parasoft, leading provider of solutions and services that deliver quality as a continuous process throughout the SDLC. In 1983, he came to the United States from Poland to pursue his PhD. In 1987, he and a group of fellow graduate students founded Parasoft to create value-added products that could significantly improve the software development process. Adam's years of experience with various software development processes has resulted in his unique insight into the high-tech industry and the uncanny ability to successfully identify technology trends. As a result, he has orchestrated the development of numerous successful commercial software products to meet growing industry needs to improve software quality - often before the trends have been widely accepted. Adam has been granted 10 patents for the technologies behind these innovative products.

Kolawa, co-author of Bulletproofing Web Applications (Hungry Minds 2001), has contributed to and written over 100 commentary pieces and technical articles for publications including The Wall Street Journal, Java Developer's Journal, SOA World Magazine, AJAXWorld Magazine; he has also authored numerous scientific papers on physics and parallel processing. His recent media engagements include CNN, CNBC, BBC, and NPR. Additionally he has presented on software quality, trends and development issues at various industry conferences. Kolawa holds a Ph.D. in theoretical physics from the California Institute of Technology. In 2001, Kolawa was awarded the Los Angeles Ernst & Young's Entrepreneur of the Year Award in the software category.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
SYS-CON Australia News Desk 12/27/05 06:22:53 PM EST

The primary mission of information technology is to improve business processes and increase profits. Companies are constantly rethinking and struggling with how to use IT to a competitive advantage, reduce IT operating and maintenance costs, and reduce the total cost of ownership... all while attempting to deliver increased value.