Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Georgii Troitskii
Acad. year: 2023/2024
Supervisor: doc. Mgr. Adam Rogalewicz, Ph.D.
Reviewer: Ing. Aleš Smrčka, Ph.D.
This thesis focuses on improving the open-source Quarkus QE Test Framework project, designated for testing applications built on the Quarkus framework. The goal is to add support for automated test execution on the Kubernetes platform. To achieve this goal, a Kubernetes cluster was installed in a virtual machine on the OpenStack platform. Integration between Jenkins and GitHub CI in the Quarkus QE Test Framework was set up using GitHub Pull Request Builder plugin for Jenkins. This integration allows Kubernetes to automatically run tests when creating Pull Requests on GitHub after entering a specific trigger phrase in the Pull Request. This solution enables fully automated test execution in Kubernetes as part of the GitHub CI pipeline, expanding the list of external platforms on which Quarkus QE team tests Quarkus applications.
Quarkus, Quarkus QE Test Framework, Java, Kubernetes, K8s, cluster, kubectl, Docker, GitHub, CI, Jenkins, GHPRB, GitHub Pull Request Builder, trigger, job, pipeline
Date of defence
11.06.2024
Result of the defence
Defended (thesis was successfully defended)
Grading
C
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. RNDr. Pavel Smrž, Ph.D. (předseda) Ing. Aleš Smrčka, Ph.D. (člen) Ing. Zbyněk Křivka, Ph.D. (člen) Ing. Jaroslav Rozman, Ph.D. (člen) doc. Ing. Jan Kořenek, Ph.D. (člen)
Supervisor’s reportdoc. Mgr. Adam Rogalewicz, Ph.D.
Pan M. Vavřík, technický vedoucí z RH hodnotí studenta následovně:
V Quarkus QE Test Frameworku ležel nefunkční mrtvý kód který Georgii analyzoval a správně určil nutné změny. Tyto změny nebyly technicky náročné, ale vyžadovaly schopnost rozumět kódu, debugovat Java aplikaci a psaní integračních testů. Georgii vytvořil skripty pro vytvoření, nakonfigurování a spuštění nové instance Kubernetes. Veškeré činnosti zautomatizoval v podobně Jenkins jobu. Tuto infrastrukturní část považuji za technicky náročnou. Četné materiály tuto problematiku popisující fungují pro happy path, existence produktů jako AWS EKS, OpenShift a GKE není náhodná.
Po technické stránce se tak jedná o zdařilou práci, kterou kazí úroveň technické zprávy dokončované na poslední chvíli. Student navíc není rodilý mluvčí, což je na kvalitě textu dokončovaného ve spěchu vidět o to více.
Zadání práce vznikla ve spolupráci s firmou RedHat.
Student vycházel především z online dokumentace jednotlivých nástrojů. Materiály si našel sám po dohodě s technickým vedoucím.
Z mého pohledu byla aktivita podprůměrná. Student mě informoval o pokroku většinou až na můj dotaz. Z pohledu technického vedoucího z RH byla aktivita výrazně lepší.
Studenta jsem informoval o možnosti psát práci v angličtině. Sám se rozhodl psát práci česky.
Práce byla dokončována na poslední chvíli. K některým kapitolám jsem poskytl studentovi připomínky, které zapracoval. Doporučení směřovala převážně k technické části. Jazyková stránka byla nad moje síly. Část práce byla dokončována pár dní před odevzdáním a k obsahu jsem neměl už prostor se vyjádřit.
Grade proposed by supervisor: C
Reviewer’s reportIng. Aleš Smrčka, Ph.D.
Zadání bylo splněno. Student evidentně dosáhl řešení, které komunita přijala (citovánon z komentáře na platformě Github Michalem Vavříkem - aktivním vývojářem nástrojů Quarkus z firmy Red hat: "Good job!").
Evaluation level: průměrně obtížné zadání
Cílem projektu bylo opravení chyby v průběžné integraci nástroje Quarkus Test Framework. Chyba byla cca před 2 lety reportována na platformě Github. Podstata práce spočívala v integraci několika široce rozšířených nástrojů určené pro automatické testování aplikací zahrnující orchestraci (Kubernetes a OpenShift) a automatizaci vývoje (Jenkins) s nástroji pro úzkou komunitu (Quarkus a Quarkus Test Framework).
Práce popisuje všechny podstatné věci, avšak její prezentace si zaslouží lepší úroveň. S ohledem na provázanost více nástrojů je potřeba důkladně popsat jejich architekturu a vnitřní procesy (ideálně pomocí standardních diagramů). V práci jsou místy popisovány příběhy, co jak student udělal, namísto strukturovaného návrhu a řešení.
Zpráva je místy ledabyle sepsaná a postrádá určitou úroveň pečlivosti a důkladnosti.
Negativa zahrnují citace na začátku podkapitol, příliš krátké podkapitoly nebo kapitoly, gramatické chyby, špatný slovosled, užití programátorského slangu a řádky přetečené přes okraj.
Výsledek práce mi byl demonstrován a je funkční. Implementace řešení zahrnuje úpravu (opravu) cca 1 tis. řádků kódu. Není to mnoho, ovšem je nutné brát v potaz rozličnost různých technologií, citlivou vazbu a jejich konfiguraci.
S ohledem na požadavek pro opravení chyby v nástroji, který je aktivně používán, je zřejmá využitelnost výsledku.
Evaluation level: zadání splněno
Samotná reprodukce 2 roky staré chyby zahrnovala nejprve úpravu původního nástroje pro reprodukci - před vypsáním zadání bakalářské práce se nástroj pozměnil a reprodukce projevu chyby nebyla možná - a následně opravu samotné chyby. Chybu se podařilo opravit a oprava byla přijata komunitou (což dokládá úspěšná žádost o zahrnutí na platformě Github).
Evaluation level: je v obvyklém rozmezí
Literatura zahrnuje pouze odkazy na dokumentace použitých technologií. Často se v textu odkazuje pomocí poznámek pod čarou na komentáře nebo jiné online materiály. S ohledem na charakter práce nemám proti tomuto stylu výhrady.
Grade proposed by reviewer: C
Responsibility: Mgr. et Mgr. Hana Odstrčilová