Web
Services Performance Testing
|
ManageEngine QEngine Web Service Performance Test tool automates
the performance testing of your web services that are bound
with the SOAP/HTTP binding. It is a powerful, easy-to-use
and affordable load and performance testing tool that realistically
simulates load (clients) connecting to your web service
and helps you gather performance and stability information.
The tool automatically generates test scripts from a WSDL
document and load tests your web services. |
| Compare
QEngine with other Services Performance Testing Tools |
Web Services Performance Test Tool Features
Automatic Script Generation
- QEngine automatically generates test scripts to provide an
easier and more effective way to load test all the published web
services in a WSDL with a click of the mouse. This eliminates
the need for in-depth knowledge of a proprietary scripting language.
- Support for MIME attachment.
- Ability to set various properties to call before invoking a
particular web service.
- Captures response time for individual operations
Data-Driven Test Scripts
Data-Driven test scripts enables you to test the web service application
in different scenarios by just changing the test data in an external
datasource. Thus, enabling you to extensively test all the aspects
of the web service application in terms of test data.
- You can create data-driven test scripts to send data source
values as part of a request to a server. A single test script
can be created to test with multiple sets of data where the values
are substituted at runtime from an external database or CSV file.
This facilitates maximum script re-usability and eliminates the
need to re-create test scripts for each set of data.
Dynamic Data Replacement
- Parameterization for web service performance testing allows
you to simulate a realistic load with different virtual users
using different data. The web-based Parameterization UI provides
a drilled down view of the input parameters passed to each WSDL
method and supports a broad array of data types to test both simple
and complex web services.
Verification Functions
- Verification functions can be added for performance testing
to get response code, status, check if there is a fault, verify
XML contents, verify database values, add common string functions,
add custom reporting functions, etc. To learn more, please refer
to Web
Service Insert Built-in Function.
Reusability of Test Scripts
Test scripts generated for web service functional testing can be
re-used for performance testing without any modification in web
services. This eliminates re-generation of scripts and allows you
to share scripts using the standard Jython language for both functional
and performance testing.
Test Asynchronous Capability
This feature supports the testing of asynchronous messages, including
notification and alert messages in addition to synchronous RPC capabilities.
Flexible User Scenarios
- Intuitive and easy-to-use Load Test Configurator UI allows
you to create scenario-based test cases that contain one or more
web service operations with appropriate work load to emulate the
real-user activities. For example, you have the flexibility to
split the number of users accessing different parts of the web
service application performing different operations, such as,
60% of users trying to get employee details, 20% of users trying
to update employee details, and the other 20% of users trying
to update employee phone details.
- Provides extensive configuration options to repeat delay (user
iterations), percentage of load for each user, the speed with
which the recorded business cases will be replayed (normal with
think time or fast mode), etc.
- Quickly change the server host (or test server) and the server
port in the user profile configuration to run the same user scenario
(recorded URLs) against different test servers and port numbers
without re-recording the test scripts.
Real-world Load Simulation
- Accurately simulate a large number of virtual users performing
a defined set of operations (or business cases) in your web service
application.
- Group the individual user scenarios as user profiles and associate
each user profile with different load levels (normal, ramp-up,
or burn-in) as load test cases to capture real-life user testing.
- Configure various workload types to test your web service application
under different load and stress conditions. This includes:
- Load Test (Normal Workload) - This test measures the capability
of your web service application under anticipated production
workload. It runs the load test for a constant number of virtual
users (steady-state workload) until the given test duration
time has passed.
- Peak Tests (Ramp-up Workload) - Ramp-up test
determines the peak load at which your web service application
fails to respond. It simulates heavy load by gradually increasing
the number of users at defined periods until the count reaches
the maximum number of users.
- Burn-In Tests (Burn-in Workload) - This test helps you to
identify issues with webservices when a heavy load is hit
for an extended period of time. You can exit the test only
based on the specified exit criteria.
Distributed Load Testing
- To simulate a very high load hitting your web service, you have
the option of simulating the virtual users in a single machine
with a high configuration or distribute the load across multiple
remote machines using the distributed playback option. QEngine
provides a single load test controller that centrally manages,
automatically generates and distributes the load across multiple
play engines.
- Web-based Play Engine Configuration UI allows you to quickly
and easily configure the distributed machine IPs and the maximum
virtual users to be simulated in each machine (Windows or Linux
machines).
Runtime Settings
Provides considerable flexibility, enabling testers to configure
a wide range of options using the Settings tab that affect the playback
of load test scripts. All these configurations are optional.
- Option to change the order of script execution using the automatic
or manual sequencing mode.
- Users accessing a web page will not wait too long for a page
to download. The delay may due to an error in socket connection
or the server not able to process the request due to some errors.
To shorten this delay, you can configure the socket timeout value
and enable/disable the option Enable Session Maintenance.
- Proxy settings option to send requests through a proxy.
- Option to save the web page obtained in the response for all
the pages. Enabling this option consumes a lot of disk space.
- Option to save the logs obtained during load test execution
for each user.
Server and Database Monitors
When users accessing your web service application report a problem,
you need to identify the source of the problem which could be in
the network, or it could lie with a database or the web server.
To monitor all the key elements that drive your entire web service
application infrastructure, you need to have specific monitors to
collect data from your web servers or databases. QEngine monitors
critical web server parameters and database parameters for MySQL
and Oracle databases. This provides better insights into the performance
of your web servers and databases that form the core components
of your web service application.
- Configure server monitors to monitor the resource utilization
such as CPU and memory usage of your web servers.
- Define monitors in Windows or Linux machines to collect data
from web servers or databases running in local or remote machines.
QEngine uses WMI to monitor server resources running in remote
Windows machines and Telnet/CLI to monitor server resources in
Linux machines.
- Configure MySQL or Oracle monitors to collect the database
parameters specific to a database. Parameters collected for MySQL
include:
- Thread Details - Threads connected, created,
running, cached, etc.
- Connection Details - Max_used_connections,
Aborted clients, Aborted connections, etc.
- Temporary Table Details - Created_tmp_disk_tables
and Created_tmp_tables.
- Throughput Details - Bytes_received and
Bytes_sent.
- Query Details - Total Number of reads,
Total Number of writes, Slow_queries, etc,
- Table Related Statistics - Table_locks_waited,
Open_tables etc.
Comprehensive Reports and Graphs
Web Service Performance Testing provides a clear and comprehensive
range of reports and graphs to quickly and easily identify the potential
bottlenecks in your web services. It displays both summarized and
detailed reports and graphs that are categorized as Response Validation
Report, Graphs for User Status, Ttime vs Hits/sec, Response Status
Distribution, Performance Status, Saved Responses, Server Monitoring
Graphs and Database Monitoring Graphs.
QEngine Issue Tracking Software
In addition to test automation of your web applications and web
services, QEngine provides built-in issue tracking software that
helps you to track product defects and manage product enhancement
requests. It enables users to log in defects / requests from any
geographic location and allows all the team members to access the
tracking system from anywhere, anytime. Click here, to learn more.
Interoperability with Issue Tracking Software
- QEngine allows you to integrate any third-party Bug Tracking
Systems to help you track bugs the way you are used to. Click
here, to know the customization details.
Web Services Performance Testing Tool
 |
Web service performance test tool provides an easy-to-use
web UI to automatically generate load test scripts from a
WSDL document, configure load test data to simulate users
and identify performance bottlenecks and failures within your
web services.
|
Web Services Performance Testing Reports
Using the Web Services Performance Testing tool provides you with
the following kinds of reports:
| Summary Report |
 |
Web service performance summary report displays the test
case details such as test case name, test start time, test
end time, elapsed time, server response time in milliseconds
and total hits. |
| |
| Graphs |
 |
Web service response status distribution graph shows the
percentage of response status for each operation in the WSDL.
Displays the operations in the horizontal axis and percentage
of response status in the vertical axis. |
| |