Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Aleš Urbánek
Acad. year: 2025/2026
Supervisor: Ing. Kristýna Zaklová
Reviewer: doc. Ing. Radek Burget, Ph.D.
This bachelor thesis focuses on ensuring the quality and sustainability of the client-side of a web application designed for visualizing voting data of representative bodies. The main objective is the design and implementation of systematic end-to-end (E2E) testing and the integration of automated data type generation from the OpenAPI specification into the development process. The theoretical part analyzes the domain context of local government data, the legislative framework for its publication, and the principles of automated testing for modern user interfaces. The practical part includes an analysis of the existing solution and the subsequent design of a testing architecture using the Cypress tool, focusing on critical user flows, responsiveness, and application state persistence in the URL. The implementation involves creating an integration pipeline to synchronize the frontend implementation with the backend contract using the Orval tool, eliminating the risk of data structure inconsistencies. The contribution of the proposed solution is demonstrated by evaluating a real run of the test suite, which identified specific deficiencies in navigation, filter processing, and application robustness under unexpected inputs. The result is a reliable testing layer fully integrated into continuous integration processes and facilitating further system development.
automated testing, E2E testing, Cypress, OpenAPI, TypeScript, web applications, representative bodies, software quality, Orval, data integration
Date of defence
15.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
B
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. 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 B.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Dr. Ing. Dušan Kolář (předseda) doc. Dr. Ing. Otto Fučík (místopředseda) RNDr. Marek Rychlý, Ph.D. (člen) Ing. František Grézl, Ph.D. (člen) Ing. Tomáš Goldmann, Ph.D. (člen)
Supervisor’s reportIng. Kristýna Zaklová
Student splnil cíle zadání a vytvořil funkční rozšíření systému zaměřené na automatizované testování a integraci generovaných typů do frontendové části aplikace. Výstupy již byly integrovány do existujícího systému a nasazeny do produkčního prostředí. Přestože student vytvořenými testy odhalil dosud neznámé nedostatky systému, v rámci práce nebyly vyřešeny. Vytvořené testy pokrývají spíše typické případy použití a mohly být komplexnější, na druhou stranu vytvářejí dobrý základ, který bude dále rozšiřován. Z pohledu integrace generovaných typů a abstraktní vrstvy pro využívání aplikačního rozhraní student odvedl dobrou práci. S ohledem na výše uvedené navrhuji hodnocení stupněm B.
Zadání vzniklo jako rozšíření aplikace pro zpracování, analýzu a vizualizaci dat ze zasedání zastupitelských orgánů, která demonstruje výstupy vznikající v rámci mé disertační práce [1]. Student se seznámil s problematikou hlasování zastupitelských orgánů a daty, která jednotlivé orgány produkují. Dále se zabýval problematikou automatizovaného testování uživatelských rozhraní webových aplikací a možnostmi formální specifikace aplikačních rozhraní. V praktické části analyzoval současný stav aplikace, identifikoval nedostatky a navrhl rozšíření zaměřená na automatizované testování klientské části systému a integraci generovaných typů využívajících specifikaci OpenAPI v3. Součástí práce bylo také testování funkčnosti a použitelnosti implementovaných úprav. Kombinace obou přístupů má potenciál omezit chyby ve vizualizaci vládních dat, což je kritické pro důvěryhodnost vytvářených výstupů. Zadání hodnotím jako průměrně obtížné a považuji jej za splněné.
[1] Zaklová, K. (2025). Formal Models of Open Data. Pojednání k tématu disertační práce. Vysoké učení technické v Brně, Fakulta informačních technologií.
Student nastudoval doporučenou literaturu a aktivně vyhledával další relevantní zdroje.
Konzultace se studentem probíhaly průběžně a na mé zprávy reagoval vždy obratem. Jednotlivé implementované změny byly průběžně konzultovány. Student také zapracovával náměty na nové testy od ostatních studentů pracujících na souvisejících částech systému.
Technická zpráva byla dokončována těsně před termínem odevzdání. Student měl při dopisování technické zprávy obtíže zejména s obsahovou stránkou textu, zapracoval ale většinu mých námětů a připomínek.
–
Grade proposed by supervisor: B
Reviewer’s reportdoc. Ing. Radek Burget, Ph.D.
Pan Urbánek se důkladně seznámil s problematikou testování a souvisejícími postupy a nástroji, analyzoval existující aplikaci a navrhl a implementoval technické řešení, které významně zvyšuje kvalitu její implementace a potenciálně i spolehlivost. K technické zprávě mám mnohé, výše uvedené výhrady, celkově však hodnotím práci jako nadprůměrnou a navrhuji hodnotit stupněm B.
Evaluation level: průměrně obtížné zadání
Zadání je zaměřeno na refaktorizaci klientské části existující aplikace a specifikuje dva dílčí cíle: Převod na jednotného API klienta generovaného z formální specifikace a zavedení testů uživatelského rozhraní. Jedná se o celkem běžné činnosti, které jsou pracné a náročné na pečlivost, nicméně po technické stránce vyřešené a zadání proto považuji za průměrně obtížné.
Technická zpráva pokrývá jak analýzu výchozího stavu refaktorované aplikace a relevantních technologií a nástrojů, tak i vlastní technické řešení. Tyto části jsou však poněkud nevyvážené: Zatímco část věnovaná analýze je pojata dlouze, nepříliš strukturovaně a místy až rozvláčně (např. výběr vhodného nástroje pro generování API klienta je rozprostřen hned do několika kapitol a mnoha stran textu), vlastní řešení je dokumentováno spíše ve formě ukázek kódu. V obou případech bych uvítal poněkud systematičtější přístup. Na druhou stranu ale oceňuji důkladně zpracovanou problematiku testování webových aplikací, která je klíčová a kde se autor opírá o aktuální publikované teoretické poznatky.
Po jazykové i typografické stránce je práce na velmi dobré úrovni. Výhradu mám ke schématům, které používají stále stejnou grafickou notaci (např. Obr. 4.1, Obr. 5.2), přičemž ale význam jednotlivých symbolů je nejasný a zřejmě i proměnlivý (např. obdélník reprezentuje někdy blok systému, někdy data, někdy zřejmě krok řešení).
Výstupem práce je refaktorovaná aplikace, kde generování API klienta i testování různých aspektů klientské aplikace jsou zahrnuty přímo do automatizovaného řetězce nasazení (CI/CD). Celá testovací infrastruktura je plně funkční a dobře použitelná. Rozsah vytvořených testů je značný a student zde odvedl velký kus práce. Výhradu mám k tomu, kód testů není téměř vůbec komentovaný, což negativně ovlivňuje jejich dlouhodobou udržovatelnost. Některé testy "dopočítaných hodnot" mají spíše charakter jednotkových testů a bylo by patrně vhodnější je testovat jiným způsobem, než přes uživatelské rozhraní.
Výsledné řešení výrazně zvyšuje kvalitu implementace předmětné aplikace a jistě usnadní její další vývoj.
Evaluation level: zadání splněno
Zadání považuji za splněné ve všech bodech.
Evaluation level: je v obvyklém rozmezí
Technická zpráva je svým rozsahem v rozmezí obvyklém pro bakalářskou práci. Kapitolu 2 nepovažuji za relevantní k tématu práce, nemá vliv na výsledné řešení, nicméně byla požadována v zadání. Některé další části pak považuji za informačně poněkud řídké, jak uvádím níže.
Seznam použité literatury je rozsáhlý a kromě zdrojů legislativních, které nemají na řešení vliv, pokrývá velmi dobře problematiku testování obecně i související konkrétní nástroje a řešení. Zdroje jsou v práci řádně citovány.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová