Why Web Services Performance is Crucial

What are Web Services?

Web services are the software components used to communicate across different platforms and exchange information, mainly in HTML or XML format. Web services also allow us to expose new functionality of existing code over the network and the Internet. Once it is exposed, any other application can access and use the functionality.

Web services are beneficial because they are loosely coupled, versatile, can integrate application transversely, can implement code re-use, and they are cost effective.

Why is this Critical?

Nowadays, web services are widely used in web applications, the mobile web, and native apps. Most of the time, mobile web or app perform web services calls to the server and perform methods such as – get, post, put, delete, option, head and trace.

With so many devices calling the web services API, it is crucial for the client to know the response time and throughput of the API. We can perform load testing, stress testing and performance testing of web services in the same way we do for web applications.


Web Service Performance Testing Approach

Here is the process:

  1. Identify the web service methods
  2. Define performance objective
  3. Identify the tool
  4. Identify and implement data model
  5. Specify workload
  6. Create test plan document
  7. Performance script creation
  8. Run the test (based on the specified workload)
  9. Gather data, analyze and performance report creation
  10. Re-run after refactoring/tuning

Web Service Performance Metrics

Below are the high level metrics that can be considered in web service performance testing:

  • Server Side
    • Server CPU and Memory Utilization
    • Application resource monitoring — for example web server, DB server, etc.
    • Application code monitoring
  • Client Side
    • Response Time
    • Throughput
    • Error rate

Tools Overview:

  • VSTS Ultimate 2010
    • This is a Microsoft-based license, in which we can create a unit test method for each web service API call. These can be further used in the load test.

We can use a ‘controller agent’ mechanism to run performance scripts to generate nth user load. Also, we can set-up the performance run over Windows Azure cloud virtual machines to generate load from different regions.

  • JMeter
    • This is an open source tool, in which we can create a thread group and request a sampler for each web service API call and listeners.
    • We can use the JMeter project in Blaze Meter to perform executions over cloud.

Note: Apart from the above mentioned tools, there are various tools which also support web services performance testing like Neo Load, Load UI, etc.

To learn about InfoStretch’s single, unified solution for web, mobile (including native and web app) and web services testing, contact us here.

Other stories you may enjoy...

Test Automation for AEM Applications: A Primer

Adobe Experience Manager (AEM) has amassed a loyal following and it is easy to see why. AEM enables web and mobile applications to be built in a way that is quick, easy and...

Getting the Most out of Mobile Automation with Appium

Digital applications require quality at speed. But as a lot of enterprises are finding, that’s easier said than done. When we talk to organizations, we find they have an...

If Your App Ain’t Sexy, It Ain’t Used

We’ve reached an inflection point in mobility. The number of apps continues to rise, and it’s no mystery why. Mobile apps continue to demonstrate their value, serving to...