Detail předmětu
Automatizované testování a dynamická analýza
FIT-ATAAk. rok: 2019/2020
Kritéria pokrytí. Graf toku řízení. Jednotkové testování. Testovací dvojníci. Testování založení na požadavcích. Lokalizace chyb. Testování řízené daty. Automatické generování testovacích dat. Fuzz testování. Výkonnostní testování. Verifikace za běhu. Testování paralelních programů. Management testů. Spolehlivost testovacích reportů.
Garant předmětu
Zajišťuje ústav
Literatura
Myers, G. J., Sandler, C., Badgett, T.: The Art of Software Testing, 3. vydání. John Wiley & Sons, 2011, 256 s., ISBN 978-1118031964
Farrell-Vinay, P.: Manage Software Testing. Auerbach Publications, 2008, 537 s., ISBN 978-0-8493-9383-9
Kaner, C., James, B., Pettichord, B.: Lessons Learned in Software Testing: A Context-Driven Approach. Wiley Computer Publishing, 2002, 286 s., ISBN 0-471-08112-4.
Marick, B.: The Craft Of Software Testing, Subsystem Testing, Prentice Hall PTR, 1995, ISBN 0-13-177411-5.
Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, 2008, 322 s. ISBN 978-0-511-39330-3.
Způsob a kritéria hodnocení
Jazyk výuky
Cíl
Zařazení předmětu ve studijních plánech
- Program MITAI magisterský navazující
specializace NBIO , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NISD , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NISY , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NIDE , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NCPS , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NSEC , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NMAT , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NGRI , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NNET , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NVIZ , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NSEN , libovolný ročník, letní semestr, 5 kreditů, povinný
specializace NMAL , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NHPC , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NVER , libovolný ročník, letní semestr, 5 kreditů, povinný
specializace NEMB , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NADE , libovolný ročník, letní semestr, 5 kreditů, volitelný
specializace NSPE , libovolný ročník, letní semestr, 5 kreditů, volitelný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Testování založené na modelech I
- Graf toku řízení, interprocedurální CFG.
- Generování testovacích případů řízené pokrytím.
- Testování založené na modelech II
- Automatizace jednotkových testů.
- Návrhové vzory jednotkových testů xUnit.
- Stálost testů a testovací dvojníci
- Stálost testů podle xUnit.
- Testovací dvojníci a platformy pro mocking.
- Testování založené na požadavcích
- Klasifikace požadavků.
- Stopovatelnost požadavků.
- Automatizace testů v chováním řízeném vývoji (BDD).
- Lokalizace chyb
- Lokalizace založená na metodě řezů.
- Lokalizace založená na chybových reportech.
- Testování řízené daty I
- Kombinační testování.
- Minimalizace testovacích dat.
- Testování aplikačního rozhraní.
- Systematické generování testovacích dat.
- Mutační testování.
- Testování řízené daty II
- Pokrytím řízené fuzz testování
- Výkonnostní testování
- Měřitelné výkonnostní parametry.
- Typy výkonnostního testování.
- Proces výkonnostního testování.
- Verifikace za běhu I
- Nízkoúrovňové stopování.
- Verifikace za běhu II
- Testovací vlastnosti, temporální vlastnosti, parametrické vlastnosti.
- Instrumentace programů
- Testování paralelních programů I
- Klasifikace paralelních chyb.
- Kontrakty pro paralelismus.
- Systematické vs. náhodné testování.
- Metody vkládání šumu.
- Testování paralelních programů II
- Algoritmy Atomrace, Eraser.
- Vektorové hodiny.
- Algoritmus Fasttrack.
- Management testů
- Prioritizace testů.
- Evaluace testovacích sad. Test flakiness.
- Reportování výsledků. Spolehlivost reportů, ukazatele Accuracy, Precision, Recall, F1.
Projekt
Vyučující / Lektor
Osnova
- Návrh automatizované testovací sady se znalostí zdrojových kódů a/nebo požadavků.
- Implementace monitoru pro RV (verifikace za běhu).