About the Customer & Project Overview
Industry: Shipping & Logistics
The client is one of the leading organizations in the logistic industry offering global intermodal SaaS solution across the globe facilitating 20 million business transactions annually.
With the optimum efficiency, secure transaction chain, and modern software products, the client is the largest supply chain solution provider in the USA and operates in numerous countries.
The idea behind performance testing of this application was to ascertain the compatibility of JMeter with the architecture of the application and how fast a system performs under a particular workload to validate the quality attributes of the system such as scalability, reliability and resource usage of the application under Test.
Performance test explores several system qualities that can be simplified as:
Speed – does the system respond quickly enough?
Scalability – can the system grow to handle future volumes?
Stability – does the system behave correctly under load?
During performance testing activity we confronted 4 major challenges:
- Using multiple CSV files
In the application, there is functionality called Adding Containers to watch list. We need to add multiple containers for at least 10-15 users of the applications.
- Using multiple CSV files and passing a unique set of data for each thread
We need to add a unique set of container data for at least 3-4 users of the applications.
- Calculation of throughput for multiple requests
After execution of a performance script for 10 users, the aggregate report was generated. calculating the throughput for multiple requests was a challenge.
- Suppressing network bandwidth in JMeter as per the requirement to run the test in allocated speed limit
The client had a requirement to throttle the network speed so that JMeter runs the performance script in the allocated network speed only.
- Try and run the script every time to analyze the problems
- Maintenance and troubleshooting of scripts to avoid the problems
- Analysis of the performance reports
Using multiple CSV files
To overcome this challenge, we examined the request and response of adding containers to the watch list. We wanted to add multiple containers for at least 15 users of the application. We used one loop controller and two CSV Data Set Config having two CSV files. Once ready with all these necessary configurations, we executed the script and to our satisfaction, we noted that all the 5 containers were added in the application for all the 15 users.
Using multiple CSV files and passing a unique set of data for each thread
As a solution to this challenge, we examined the request and response of adding containers to the watch list. We wanted to add a unique set of containers for 4 users of the application, and we successfully did it.
Calculation of throughput for multiple requests
After lots of analysis, we found a formula to calculate throughput value for multiple samples.
Suppressing network bandwidth in JMeter as per the requirement to run the test in allocated speed limit
We came across a requirement from client to suppress the network bandwidth in JMeter in order to execute the script in a defined network speed. By changing some configuration, we met the client’s requirement.
Tools & Technologies
- Performance of the application is improved to a great extent
- Discovered new approaches to test the application
- Identified the importance of adding a unique set of data for each thread of the thread group
- Error-free chunks of code for smoother execution
- Scalable, secure, and reliable application