Automatická tvorba testovacích případů z datových toků
Automatic Generation of Test Cases from Data-Flow
Abstract
Tato práce se zabývá automatickou tvorbou testovacích případů na úrovni jednotkového testování, pro zdrojové texty v jazyce C. K dosažení automatizace jsou použity metody přístupu k software jako k datovým tokům proměnných. Je zde nastíněn náhled na průběh tvorby testů a funkci CSP solverů, které jsou nezbytnou částí pro rozhodnutelnost těhto problémů. Statická analýza kódu je umožněna knihovnou LibTooling v projektu překladačového front-endu Clang. Jsou uvedeny výstupy z aplikace, jimiž jsou automaticky vytvořené vstupní hodnoty pro testovací případy. This thesis deals with automatic generation of test cases on Unit testing level for source codes in C language. In order to achieve automatization are used methods of approach to software as a Data-flow of variables. There is outlined a process of creating tests here as well as a function of CSP solvers which are necessary part of solving this problems. Static code analysis is accessed with LibTooling libraring as part of a compiler front-end project Clang. Output of a developed application are provided here which is automatically generated input values for test cases.
Keywords
testování, statická analýza, automatizace, Clang, CSP, Gecode, jazyk C, testing, static analysis, automatization, Clang, CSP, Gecode, C languageLanguage
čeština (Czech)Study brunch
Informační technologieComposition of Committee
prof. Ing. Tomáš Vojnar, Ph.D. (předseda) doc. Ing. Lukáš Burget, Ph.D. (místopředseda) Ing. Vladimír Bartík, Ph.D. (člen) Ing. Aleš Smrčka, Ph.D. (člen) Ing. Josef Strnadel, Ph.D. (člen)Date of defence
2016-06-14Process 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. Oponent hodnotil práci stupněm 4F, protože student nesplnil body 1 a 4 zadání. Student nedokázal vyvrátit výtky oponenta. Komise shledala nedostatky práce natolik závažné, že se práci rozhodla hodnotit jako nevyhovující. Otázky u obhajoby: Bylo by možné (a pokud ano, tak jak) rozšířit Váš přístup pro jiné front-endy LLVM frameworku (např. pro Javu)? Diskutujte možné využití Vašeho nástroje/přístupu v dalších oblastech analýzy programů, např. pro hledání chyb apod.Result of the defence
práce nebyla úspěšně obhájenaPersistent identifier
http://hdl.handle.net/11012/187205Source
KRAUT, D. Automatická tvorba testovacích případů z datových toků [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2016.Collections
- 2016 [297]