Nástroj pro generování příkladů pro cvičení testování softwaru
Loading...
Date
Authors
Azarov, Vladimir
Advisor
Referee
Mark
A
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
ORCID
Abstract
Tato bakalářská práce se zabývá návrhem a implementací nástroje pro generování příkladů pro cvičení testování softwaru. Cílem je vytvořit nástroj, který umožňuje generovat pseudonáhodné funkce v jazyce C na základě grafu toku řízení (CFG) a cílové složitosti. Nástroj také generuje část testovacích případů, které splňují zadané kritérium pokrytí. Generované funkce jsou syntakticky a sémanticky správné a slouží jako praktické příklady pro procvičování testovacích technik a analýzu pokrytí. Práce se zaměřuje na teoretické základy modelově orientovaného testování, algoritmy pro generování CFG, zajištění sémantické proveditelnosti testovacích cest a efektivní rozdělení složitosti mezi jednotlivé části grafu. Implementovaný nástroj umožňuje generovat funkce s požadovanými vlastnostmi a variabilitou, což přispívá k efektivnější výuce softwarového testování a lepšímu porozumění základním i pokročilým technikám testování.
This bachelor's thesis addresses the design and implementation of a tool for generating examples for software testing exercises. The objective is to create a tool capable of generating pseudo-random functions in the C programming language based on a Control Flow Graph (CFG) and target complexity. The tool also generates a subset of test cases that satisfy a specified coverage criterion. The generated functions are syntactically and semantically correct, serving as practical examples for practicing testing techniques and coverage analysis. The thesis focuses on the theoretical foundations of model-based testing, algorithms for CFG generation, ensuring the semantic feasibility of test paths, and effectively distributing complexity among different parts of the graph. The implemented tool facilitates the generation of functions with desired properties and variability, contributing to more effective software testing education and a better understanding of both basic and advanced testing techniques.
This bachelor's thesis addresses the design and implementation of a tool for generating examples for software testing exercises. The objective is to create a tool capable of generating pseudo-random functions in the C programming language based on a Control Flow Graph (CFG) and target complexity. The tool also generates a subset of test cases that satisfy a specified coverage criterion. The generated functions are syntactically and semantically correct, serving as practical examples for practicing testing techniques and coverage analysis. The thesis focuses on the theoretical foundations of model-based testing, algorithms for CFG generation, ensuring the semantic feasibility of test paths, and effectively distributing complexity among different parts of the graph. The implemented tool facilitates the generation of functions with desired properties and variability, contributing to more effective software testing education and a better understanding of both basic and advanced testing techniques.
Description
Citation
AZAROV, V. Nástroj pro generování příkladů pro cvičení testování softwaru [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Informační technologie
Comittee
doc. RNDr. Milan Češka, Ph.D. (předseda)
Ing. Radek Kočí, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)
Ing. Marta Jaroš, Ph.D. (člen)
Date of acceptance
2025-06-17
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 A.
Result of defence
práce byla úspěšně obhájena
