Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
Parasoft SOAPtest
Parasoft SOAPtest

During the past few years we've seen an exponential rise in Web-based applications, and we're currently beginning a transition to a service-oriented Web. Web services technology enables several functional elements (services) to communicate with each other. The key to the success of this technology is the ability to exchange messages between services implemented on disparate platforms.

We've embraced SOAP as the protocol for message exchange, and fortunately, it has received a good response from the key players in this technology. Loose coupling is a great feature of Web services technology, but at the cost of stringent constraints on the validity of the messages exchanged.

With Web services, the underlying idea of serving client requests isn't very different from the technologies we've grown accustomed to in the past few years. Based on experience with Web-based applications, simulated clients and servers are ideal for testing client and server behavior. As the technology receives the anticipated acceptance, performance testing under varying loads will be another requirement. Parasoft has addressed these specific needs with SOAPtest, a collection of tools that can be assembled to test certain scenarios and record the results.

Installation
The installation went very smoothly. It's available with and without the JRE; I used the one with the JRE.

Features
After installation, I browsed through the documentation provided with the product and was overwhelmed by the variety of functionality. The documentation highlights specific functionality while describing the general features.

SOAP Client and SOAP Server
The core feature of SOAPtest is the ability to simulate SOAP-client and SOAP-server functionality. In Web application environments, the Web browser (client) tested the server-side applications. With Web services technologies, we'll have to rely on custom-built client applications. In most cases these client applications will have to be recompiled to test different scenarios. A tool that can simulate client behavior will be very valuable.

The SOAP Client tool makes simulating the SOAP client functionality easy. The tool provides many options for testing a variety of scenarios. It offers a choice between "RPC" and "Document" for the body type of the SOAP message. The message can be created in three different ways: Literal XML, Scripted XML, or Form Input. If WSDL can be provided, most of the options are prefilled.

I used this tool to create a test request to the famous "Stock Quote Web Service" deployed on my machine. I used the Form Input method to create the request message (see Figure 1).

 

Once all the required fields on the screen were set, I could run the simulated client by just clicking a button. I could send different requests by changing the options/data on the screen. At the same time, I could test whether the server could handle incorrect input data, incorrect method names, and so on. The response message, with the fault element, could be examined in case of an error.

The ability to chain the output to certain other tools is a really cool feature. The SOAP Client tool allows examination of the following types of data: the XML request data, deserialized response, and HTTP traffic data. Later we'll look at the feature used for chaining tools to view the data generated during a test.

SOAPtest lets us simulate the SOAP server; the documentation explains this feature in the "Deploying Web Services" section. Also, a tool is provided to automatically create the server stubs from the WSDL file; this tool can be used to emulate critical functionality that cannot be made available for testing.

In addition to the basic functionality of SOAP client and SOAP server emulation, SOAPtest has a myriad of other tools that can be of great help in performing the tests. As mentioned earlier, the available tools can be chained so that output from one tool is piped to one or more other tools.

Browser
The Browser tool can be used to display the data exchanged (e.g., XML request message, deserialized response, etc.) in a new browser window. I tried using the Browser tool to display the XML request message for the "Stock Quote Service" test. I just added the Browser tool as an output for the XML request of the SOAP Client tool and it allowed me to select from available browsers or add my own.

File Writer
The File Writer tool can be used to write out data. I also used it to write out all the HTTP traffic in my earlier test. (Writing out the HTTP data is another neat feature of the SOAP Client tool. This is helpful because you can examine the request and response data from the transport layer.)

Check Well-Formedness/XML Validator
The Check Well-Formedness tool and XML Validator tool can be used to validate the XML message received as a response from a server.

Rule Enforcer
The Rule Enforcer tool allows you to check for certain patterns in the response message by creating custom rules. This tool has a companion tool, the CodeWizard, which lets you create the custom rules graphically. There is separate documentation titled "RuleWizard Documentation" for using this feature. At first look, it seems a bit involved, but I think this tool could be very useful to test occurrences of certain patterns in the response message. Besides, all the tests can be saved and then later executed when there's a change/update in the functionality of the Web service.

Diff
The Diff tool lets you compare the outputs. The output or response from a server can be compared to preset data in a file or a certain specific text data. Both the text data and the file name can be supplied to the tool. The output data, which is used in creating regression controls, can be compared in three modes: Text, Binary, and XML. Using these we can easily determine if the functionality of the server changes. I used this to verify the address information returned by a sample "GetAddress" Web service. If the XML mode of comparison is used, the results indicate the XPath location of the element that was modified.

Method
Another interesting feature is the Method tool, which lets you create your own application-specific tests - for example, checking database updates. The product supports coding in Java, JavaScript, and Python. The documentation provides instructions for configuring the Method tool.

Additional Functionality
SOAPtest is designed with extensibility in mind and has features to use external tools within the test scenario. The documentation says that any third-party tool can be integrated into a test scenario. There are many other support tools, such as the XML Cleanup, XSLT, etc. These can all be chained to process the test results or to save them.

Another important feature is load testing, which lets you create a profile with the desired tests to be performed. The profile can then be tested in different scenarios with simultaneous/staggered users. You can easily run a simple load test that shows the results in a tabular report giving the option to select/deselect the columns in the report.

Conclusion
Parasoft seems to have given serious consideration to the experience of testing Web-based applications. SOAPtest provides almost all the features found on the wish lists of programmers and QA professionals. I recommend this product to software developers and QA professionals who want to more easily and efficiently verify the functionality and scalability of their Web services throughout the development life cycle.

About Prasad Joshi
I am Syntel, Inc. Consultant, working for Nekema, Inc. based in New Jersey. I have about 4 years of experience in designing and implementing web based application using Java and XML technologies. Prior to this I was working on Microsoft technologies like ASP and Visual Basic.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1


Your Feedback
Srinivasa Rao Aravilli wrote:
SOA World Latest Stories
In Aug 2011, around 72 million people accessed social networking sites from mobile, increase of 37% from previous year (study by ComScore) and nearly 50% (of 72 million) access networking sites almost every day. Devising a cohesive strategy for addressing both mobility and social medi...
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make the fi...
A Munich court Thursday found Motorola Mobility guilty of infringing an Apple patent and handed Apple a permanent injunction against two Android smartphones. Apple can enforce the injunction after posting a bond lest MMI succeed in invalidating the slide-to-unlock patent (EP1964022) ...
Quick Response (QR) codes are intended to help direct users quickly and easily to information about products and services, but they are also starting to be used for social engineering exploits. This article looks at the emergence of QR scan scams and the rising concern for users today....
The Chinese company that claims it owns the iPad trademark says it plans to seek a ban on iPad exports out of China, threatening global supplies. According to what a lawyer for Proview Technology (Shenzhen) Co Ltd told Reuters, the firm is petitioning Chinese customs to stop shipment...
Cisco Wednesday filed suit in the European Union’s second-highest court, the General Court in Luxembourg, challenging the European Commission’s rubber stamp last October of Microsoft’s $8.5 billion acquisition of Skype. Cisco says it isn’t opposed to the merger, but figures the EC sh...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE