Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Georgii Troitskii
Ak. rok: 2023/2024
Vedoucí: doc. Mgr. Adam Rogalewicz, Ph.D.
Oponent: Ing. Aleš Smrčka, Ph.D.
Tato práce se zaměřuje na vylepšení open-source projektu Quarkus QE Test Framework, určeného pro testování aplikací postavených na frameworku Quarkus. Cílem je přidání podpory pro automatozovane spuštění testů na platformě Kubernetes. K dosažení tohoto cíle do virtuálního stroje na platformě OpenStack byl nainstalován cluster Kubernetes. Pomocí pluginu pro GitHub Pull Request Builder byla zřízena integrace mezi Jenkins a GitHub CI v Quarkus QE Test Frameworku. Tato integrace umožňuje automatické spouštění testů v Kubernetes při vytváření Pull Requestů na GitHubu po zadání specifické fráze do Pull Requestu. Toto řešení umožňuje plně automatizované spouštění testů v Kubernetes jako součást GitHub CI pipeline, čímž rozšiřuje seznam externich platform, na kterych tým Quarkus QE testuje aplikace Quarkus.
Quarkus, Quarkus QE Test Framework, Java, Kubernetes, K8s, cluster, kubectl, Docker, GitHub, CI, Jenkins, GHPRB, GitHub Pull Request Builder, trigger, job, pipeline
Termín obhajoby
11.06.2024
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
C
Průběh obhajoby
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.
Otázky k obhajobě
Jazyk práce
čeština
Fakulta
Fakulta informačních technologií
Ústav
Ústav inteligentních systémů
Studijní program
Informační technologie (BIT)
Složení komise
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)
Posudek vedoucíhodoc. 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.
Známka navržená vedoucím: C
Posudek oponentaIng. 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!").
Stupeň hodnocení: 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.
Stupeň hodnocení: 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).
Stupeň hodnocení: 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.
Známka navržená oponentem: C
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová