Testing Beyond Boundaries – Developing a Load Testing and Reporting Utility Tool

Developing a Load Testing and Reporting Utility Tool

There are situations where we realize that the tools and technologies that we have are not sufficient to meet the requirements at hand. Here, we need to be innovative to tackle problems by going beyond the technical barriers, in solving our problems.

Innovation being the DNA of QA InfoTech, here we present how our load testing team created an XMPP plugin to test chat applications and a Reporting Utility Tool to manage load test results efficiently.

XMPP Plugin

We needed to perform load testing on an XMPP based messaging/chat application over Android/iOS. However, the challenge was the absence of an existing tool to perform load testing of the XMPP protocol with the required features. 

Normally, Apache JMeter is used for load testing. However, the Java-based open-source tool does not  support XMPP protocol.

What is XMPP?

It stands for Extensible Messaging and Presence Protocol. It acts as a communication protocol for message-oriented middleware based on XML. It also facilitates the exchange of text or multimedia between two or more network entities.

XMPP enables the majority of chat applications to perform various chat activities including text or multimedia messages, group chat, private chat, user’s “last seen”, and more.

Solution

We developed a custom JMeter plugin to enhance its capability to support XMPP-based actions including chatting and connection.

How did we Do it?

Here is how the team developed a JMeter-based XMPP plugin:

  • Leveraged smack API for implementing XMPP actions
  • Used JMeter libraries for developing those actions in the form of JMeter samplers in Java


The Apache JMeter tool mimicked five virtual senders of messages. The messages were received by an Android emulator. It also monitored custom logging files.

Various KPIs were stored in the log including:

  • Response time of sending a message
  • The message latency


These KPIs were self-recorded in the custom logging files with the help of the developed custom JMeter plugin.

Characteristics of XMPP Plugin

  • Universal solution
  • Custom logging feature
  • Can be used in the JMeter script for functional and performance testing
  • Supports selective file downloading
  • User friendly

Reporting Utility Tool

This was a tool built to handle load test results.

Project overview

The project required the efficient management of a large number of product results on load testing reports. Here is why:

  • The project scope included 40 products
  • Had Very frequent load test results
  • Load execution entailed coverage across all products together
  • Needed to share results of 2 load tests each day


Reporting Utility Tool helped in addressing the following issues:

  • The time-consuming process of manual report creation
  • Comparison with baseline or past result as it was time-consuming and error-prone to handle manually
  • No proper management of load test results for future references
  • Manual result creation which was not error-proof

How did we Do it?

  • The frontend was developed using HTML, CSS, and Bootstrap
  • Java was leveraged for logic intensive tasks
  • Shell script enabled communication with file and system manipulation tasks


The Reporting Utility Tool includes all the relevant information like aggregate reports, response time graphs, the error above SLA, and comparative analysis.

Benefits of Reporting Utility Tool

Here are the benefits that Reporting Utility Tool offers:

  • No large number of results on email
  • Capable of handling multiple results at the same time
  • Customizable as per the requirement
  • Saves time. Tasks that required hours can now be done in minutes
  • Efficient management of previous load tests in one place
  • Accurate result analysis due to end-to-end process automation

In Summary

Development of above mentioned tools demonstrate QA InfoTech’s commitment towards achieving quality and efficiency through innovation.

QA InfoTech’s SMEs Sohan Joshi and Deepesh Joshi presented both the above mentioned tools in detail at our annual testing and quality summit, Qualloquium 2020. They were the second runners up in our competitive rounds amongst other sessions that spanned across a range of quality attributes. Watch the video below to understand everything in more detail.
 

About the Author

QA InfoTech

QA InfoTech

Established in 2003, with less than five testing experts, QA InfoTech has grown leaps and bounds with three QA Centers of Excellence globally; two of which are located in the hub of IT activity in India, Noida, and the other, our affiliate QA InfoTech Inc Michigan USA. In 2010 and 2011, QA InfoTech has been ranked in the top 100 places to work for in India.

Related Posts

X