SQL Database Design For Developers at php[tek] 2024
White paper ready api
1. Nithin Bijjala
White Paper- Web Services Automation Testing
using SoapUI NG Pro Tool
Abstract
Testing team always faces difficulties while dealing with Web services
Web services usually do not have visible, user-friendly interfaces, so performing
manual testing is always not easy.
Web services hide all of the details of their underlying business logic and appear
as code in response and request to the Testers. It can be hard for testers to know
if they are getting what they should from a Web service.
It’s always challenging for testers to find all of the right inputs to exhaustively
test Web services, but it’s crucial to check if business logic is correctly
implemented.
Most popularly used tool for testing Web services is SoapUI which allows you to
test web services manually as well as using automation suite.
In short, businesses need a comprehensive methodology inclusive of tools and
automation framework for designing and executing thorough Web services testing. This
white paper outlines a data driven automation framework which can be developed in
SoapUI which helps testing teams and business owners design, setup and execute
comprehensive tests for testing services quickly and run them in lights-out mode
without having exceptional automation skills.
22/06/2016
Artha Data Solutions | www.thinkartha.com
1
2. Nithin Bijjala
Introduction
Service Oriented Architecture (SOA) is the emerging paradigm for the development of
distributed applications that are easy to integrate and flexible to fast changes of the
environment and of user requirements. IT technology trend is that the business and
social welfare are more and more depending on the proper functioning of services
delivered over the Net. Companies need to have an eye on a provided service, against
accidental or intentional faults. Because of their pervasive distribution, company must
offer very strict guarantees in this regard, even for services that are not dealing with
safety-critical or money-critical applications.
For this reason, it is imperative that companies are thoroughly tested before
deployment. Essentially, a company collects a set of functions, whose invocation syntax
is defined in the associated WSDL document. The WSDL formalized
description of service operations and of their input and output parameters can be in fact
taken as a reference for black box testing at the service interface.
Soap UI tool can automatically derive skeletons of test cases and provide support for
their execution and result analysis which ultimately results in saving human efforts, time
and money.
I. WEB SERVICES AUTOMATION FRAMEWORK
The Automated Framework for testing Web services evolved to handle the many
business scenarios and use cases required for testing large volumes of data passing
through Web services. The Automation Framework interacts with external data sources
to import data, pass it to XML-formatted requests, and process the requests. The
framework automatically generates reports of test runs and shows the results in an easy
to-read text format.
Test teams appreciate these key advantages that the Automation Framework
enables
Quick and easy development of reusable, automated test scripts
Automatic execution of regression tests on different data sets
Significant suppression in maintenance costs can be used by new team members
using consistent and easy design, development, and execution techniques
22/06/2016
Artha Data Solutions | www.thinkartha.com
2
3. Nithin Bijjala
II. EASE OF WORKING
Web services basically works with Client-Server architecture through WSDL.
Graphical representation for the same:
In Client-Server architecture User executes a request with the correct Server; Server
performs the requested task and sends response back to the User.
In order to use the web server’s applications we have WSDL. WSDL (Web Services
Description Language) is an XML-based interface description language that is used for
describing the functionality offered by a web service.
III. SOAPUI OVERVIEW
We use SoapUI application to execute requests and get responses. SoapUI is a very
powerful application. SoapUI allows us to easily and rapidly create and execute
automated functional, regression, compliance, and load tests.
Some of the important options we use in SoapUI:
a. Import: We can import a project in SoapUI.
b. Run: We can execute a request by clicking on Run button.
c. Stop: We can stop the execution of the request by clicking on stop button.
22/06/2016
Artha Data Solutions | www.thinkartha.com
3
4. Nithin Bijjala
SoapUI with a request and response is shown below:
IV.COMPONENT TESTING MULTIPLE WEB SERVICES IN A SINGLE EXECUTION
In flow terms, a business scenario involves the integration of dependent API methods
developed for a specific business requirement. We can configure data in a Microsoft
Excel file for testing all of the valid and invalid Transaction flows that occur during a
business scenario. During execution, a script can populate the scenario’s Results column
with the test execution status. The possible values the script returns are Pass, Fail, or
Not Executed. Within a defined scenario, if any request to a specific API method fails,
the script returns fail for the entire scenario.
Configure the frame work The SoapUI Automation Framework provides test engineers
with an easy-to configure, reusable SoapUI project file called the “Base Project.”
The Base Project includes Groovy code that reads the Excel file from Test Suite and
dynamically creates test cases, using the SoapUI tool. These test cases validate the
functionality of the Web service or services by sending the XML-formatted requests as
specified in the test case and verifying the response accordingly.
22/06/2016
Artha Data Solutions | www.thinkartha.com
4
5. Nithin Bijjala
When configuring the Base Project, Testers need to set up another primary component
of the framework - Properties. Properties allow users to configure and use specific value
in different test steps within Test Suite. To specify the configuration values used within
the Groovy test scripts, users can create properties in Test Suite and at the test-case
level with a Base Project. The values can be referenced using either property transfer or
property expansion mechanisms. The Automation Framework has pre-defined
properties that help the Groovy scripts to set configurations with the values engineers
created in Test Suite. In other words, properties defined at the test-case level from
runtime, such as result file name or report file name, are automatically generated and
assigned by the Groovy script.
V. Using SoapUI pro for load testing
Load Testing is quite unique in SoapUI, we have created a functionality that allows you
to create Performance Tests quickly and modify them easily. This allows you to very
quickly create advanced Performance Tests. You can then validate a Web Service
performance under different Load scenarios, maintain functional validations to see that
they don't break under load, run several load tests simultaneously to see how they
affect each other and much more.
Some of the important options we use in SoapUI for Load Testing:
Create a new Load Test
Run the Load Test
Add Assertions to the Load Test
Load Testing Screen print as shown below:
22/06/2016
Artha Data Solutions | www.thinkartha.com
5
6. Nithin Bijjala
Load Test Graphical representation:
Load Test Metrice:
Benefits:
Provides a fast solution for easy development and automated execution
Reduces human efforts
Easy to understand to new test team members
Provides an extensible scope for automating Web services testing.
22/06/2016
Artha Data Solutions | www.thinkartha.com
6
7. Nithin Bijjala
Conclusion
Testing of Web Services is very challenging activity. Many characteristics (runtime
discovery, multi-organization integration) of this new paradigm and its related
technologies certainly make testing much more difficult.
There are other characteristics that could be fruitfully exploited Towards Automated
WSDL-Based Testing of Web Services for testing purposes. Among these, the
representation of data in a computer readable format (typically XML-based) facilitates
the automatic derivation of data instances to be used for testing invocations. Starting
from this consideration we presented a methodology to automatically derive test
messages from WSDL descriptions. Such messages include data representing possible
values that a real implementation of the service should be able to handle. Furthermore,
by use of our tool SoapUI, we proposed to exploit the characteristics of an XML to input
different data and in output results from response to automatically check and store.
This would result in the derivation of a test suite of messages that are representative of
the space of possible messages.
22/06/2016
Artha Data Solutions | www.thinkartha.com
7