Performance testing of Messaging Protocols

One of the biggest priorities of modern software development is performance testing of the finished product. The common goal of the performance testing is to ensure that the application runs fast enough to keep the attention of users, even with the unexpected amount of clients using the application at the same time. Without this type of testing, we can miss significant bugs that can be very frustrating for an end-user and can lead to possible loss of customers and also huge money investment in case of fixing the bugs. This thesis focuses on the performance testing of messaging clients with protocol AMQP (Advanced Message Queuing Protocol) and a minimum of two different API (Application Programming Interface)against the broker. The performance testing tools that are used in this thesis are calledMaestro and Quiver. Maestro does not support client testing. Quiver, on the other hand, fully supports it. Because of that Maestro has QuiverAgent, which is used to run Quiver within Maestro environment so we can test clients using Maestro. What is missing is a converter for results from Quiver. Maestro does not understand the representation of quiver output. The first chapter of this thesis describes the fundamentals of testing with a focus on performance testing. The rest of the thesis is about the performance tools mentioned above, the implementation of the converter and its significant help with better automation of performance testing of messaging clients and testing of the clients with the newly implemented converter. The results from the testing are successfully collected and appropriately evaluated with possible suggestions for improvements, which can help refine the performance of the messaging clients.


Faculty of Informatics

Date of Completion

fall 2019



Adam Rambousek


Zdeněk Kraus


Dominik Stuchlík