Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Jakub Komanický
Acad. year: 2025/2026
Supervisor: Ing. Aleš Smrčka, Ph.D.
Reviewer: Dr. Ing. Petr Peringer
This bachelor's thesis aims to develop a tool capable of expanding existing JSON test suites by automatically generating both valid and invalid test examples. The generation process employs a combined approach: while Large Language Models are utilized to synthesize complex data values, other test inputs are generated based on the observed values in the provided examples. This process is guided by a combinatorial criterion that controls the specific content and coverage of each test. The resulting tool outputs the expanded test suites as fully structured JSON files. The tool supports integration with both self-hosted models and commercial APIs from major providers.
automatic test data generator, data-based testing, JSON, testing, test data, test input, data generation, data synthesis, LLM, large language models, structured data, combinatorial testing, t-wise
Date of defence
18.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
D
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 D.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (BIT)
Composition of Committee
prof. Dr. Ing. Jan Černocký (předseda) doc. Ing. Zdeněk Vašíček, Ph.D. (místopředseda) Ing. Jiří Hynek, Ph.D. (člen) RNDr. Marek Rychlý, Ph.D. (člen) Ing. Vojtěch Havlena, Ph.D. (člen)
Supervisor’s reportIng. Aleš Smrčka, Ph.D.
Student sice pracoval samostatně, ale zadání práce, které bylo velmi obecné kvůli manévrovacímu prostoru při řešení a možné integraci s existujícím nástrojem, uchopil jinak, než byla moje původní představa.
Cílem bakalářské práce bylo navázat na výzkum v oblasti automatické tvorby testovacích dat, konkrétně na možnosti systematického generování stromově strukturovaných dat. Zadání není obtížné. Bohužel absence pravidelných konzultací vedla k realizačnímu výsledku, který není integrovatelný s již existujícím řešením pro syntézu testovacích dat vyvíjeným na FIT VUT.
Student si studijní prameny vybíral sám.
Během zimního semestru byla aktivita téměř nulová. V letním semestru se student začal ozývat ke konci dubna.
První verze technické zprávy byla připravena asi týden před odevzdáním. Měl jsem možnost poskytnout zpětnou vazbu k hlavním částem dokumentu.
Grade proposed by supervisor: E
Reviewer’s reportDr. Ing. Petr Peringer
Tato práce umožňuje generovat JSON data pro testování systémů s využitím obecných LLM. Student vytvořil systém pro generování testů v jazyku Python s využitím lokálního případně externího LLM. Z textu práce ani z kódu nelze přesně rozhodnout, kolik kódu bylo vygenerováno LLM, nicméně je zřejmé, že student odvedl dost práce na implementaci a také na experimentech při testování. Vzhledem ke kvalitě textu práce a dosaženým výsledkům navrhuji hodnocení stupněm C.
Evaluation level: průměrně obtížné zadání
Toto zadání je značně experimentální a je zaměřeno na využití obecných LLM modelů pro generování testovacích JSON dat na základě sady vzorových JSON dat. Vzhledem k rozsáhlé podpoře využívání LLM v různých volně dostupných prostředích (např. ollama) považuji zadání za průměrně obtížné.
Struktura textu je vyhovující, kapitoly na sebe logicky navazují, ale chybí mi kapitola s přehledem existujících podobných systémů (a jejich porovnání s vytvořeným systémem v kapitole 5). Kapitola 1 by neměla obsahovat hodnocení přínosů práce - to patří do závěru.
Typograficky je práce na velmi dobré úrovni, až na menší chyby (např. na str. 44, 59). Z jazykového hlediska je anglický text vyhovující (až na to, že zadání je česky a chybí rozšířený abstrakt).
Implementace projektu zahrnuje asi 7000 řádků v Pythonu. Zajímavé je, že jméno autora je jen na jediném místě - v souboru 'pyproject.toml'. Nikde ve zdrojových kódech není ani informace, že by byly generovány nějakým LLM systémem. Nelze tedy jednoznačně vyhodnotit vlastní přínos autora.
Práce sice nepřináší nové poznatky, ale jde o užitečnou prakticky použitelnou aplikaci LLM pro generování JSON testovacích dat.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Text má rozsah přes 60 stran + přílohy.
Seznam literatury je nadprůměrně rozsáhlý (45 položek). Postrádám v něm například odkaz na projekt Ollama, který autor používá. Použití citací je někdy přehnané - viz např. šestkrát odkaz [19] na straně 6. Na straně 9 jsou podivné citace za větou.
Grade proposed by reviewer: C
Responsibility: Mgr. et Mgr. Hana Odstrčilová