Bakalářská práce

Automatizace výkonnostního testování knihoven Apache Qpid pro zasílání zpráv

Performance Testing Automation of Apache Qpid Messaging Libraries

Jiří Daněk, učo 374368
Anotace

Event-driven architektury se ukázaly být efektivním návrhovým vzorem pro design softwarových systémů složených z volně spojených softwarových komponent. Tyto návrhy jsou často implementovány pomocí message-oriented middleware, což klade velké požadavky na spolehlivost a výkon použitého řešení pro zasílání zpráv. Tato práce se zaměřuje na knihovny pro zasílání zpráv vyvinuté v rámci projektu Apache …více

Abstract

Event-driven architecture has proven to be an effective way of designing software systems composed of loosely coupled software components. These designs are often implemented using message-oriented middleware, which puts messaging into a fundamental role and places great demands on reliability and performance of the messaging solution being used. This thesis focuses on messaging libraries developed …více

Zadání práce

Messaging belongs to the area of Interprocess Communication and Enterprise Integration techniques. It allows creating distributed software with decentralized, and decoupled flow of information, based on the notion of an address. Main applications of messaging include Internet of Things (IoT), Event-Driven Architecture, application integration using Enterprise Service Bus (ESB).

Apache Qpid messaging libraries implement a standardized protocol AMQP 1.0 (Advanced Message Queueing Protocol). Moreover, the Apache Qpid JMS library also implements a standardized Application Programming Interface (API) called JMS 2.0 (Java Message Service). The focus of the libraries is to implement the APIs in efficient and performant manner for their respective supported programming languages. Performant messaging is necessary to enable creation of demanding applications, unlocking the world’s potential.

Continuous Integration and Continuous Delivery (CI/CD) are two techniques of modern software development. Changes to the software are automatically integrated into the master repository, unit tests and integration tests are performed for each change. Continuous Delivery then automates the process of creating deliverable artifacts at release time. Continuous Deployment extends this to automatic deployment of the artifacts to the production environment. This results in making the software development project more agile and efficient.

This bachelor thesis is focused on implementing an automated CI/CD process for performance testing of Apache Qpid messaging libraries. The specific goals of the thesis are as follows:

  1. Learn about foundational principles of software testing in general and then focus on software performance testing in particular.
  2. Learn about tools and techniques used in performance testing Maestro [2], Quiver[3], and characterize them.
  3. Design an automated testing process for performance testing of message libraries qpid-proton and qpid-jms in peer-to-peer mode of operation.
  4. Implement test automation in CI (Jenkins) to perform the designed testing. The test automation is to produce summary results for further evaluation.
  5. Summarize the developed automation and outline further future extensions of the work.
Práce zkontrolována:
21. 7. 2020 16:35, Mgr. Martin Večeřa, učo 72839
Plný text práce
243 KB / soubor PDF
Jazyk práce
angličtina angličtina
Termín obhajoby
25. 9. 2020
Práce nebyla obhájena

Student v rámci svého studia bakalářskou práci obhájil 18. 2. 2021.

Vedoucí

Mgr. Martin Večeřa, učo 72839
abs FI MU

Oponent

doc. RNDr. Pavel Matula, Ph.D., učo 2927
KSUZD FI MU

Konzultant

Zdeněk Kraus

  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.