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
Doporučená nebo povinná literatura
Spillner, A., Linz, A., Schaefer, H.: Software Testing Foundations : A Study Guide for the Certified Tester Exam. Rocky Nook Computing. 2014. p. 296. ISBN 9781937538422.
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.
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.
Způsob a kritéria hodnocení
Dva hodnocené projekty, každý za 15 bodů.
Jazyk výuky
čeština
Cíl
Získat přehled o
různých přístupech k testování softwaru. Pozornost je věnována
automatizaci ověřování softwaru. Získat praktické dovednosti se
sledováním běhů programů a komunikace softwarových systémů.
Získat praktické dovednosti s testováním softwaru na úrovni
potřebné pro osobu odpovědnou za návrh testovacího přístupu
(QA analyst).
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
26 hod., nepovinná
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.
- Graf toku
- Testování
založené na modelech II
- Automatizace
jednotkových testů. - Návrhové
vzory jednotkových testů xUnit.
- Automatizace
- Stálost testů
a testovací dvojníci
- Stálost testů
podle xUnit. - Testovací
dvojníci a platformy pro mocking.
- Stálost testů
- 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).
- Klasifikace
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í.
- Kombinační
- Testování
řízené daty II
- Pokrytím
řízené fuzz testování
- Pokrytím
Výkonnostní
testování
- Měřitelné
výkonnostní parametry. - Typy
výkonnostního testování. - Proces
výkonnostního testování.
- Měřitelné
Verifikace za
běhu I
- Nízkoúrovňové
stopování.
- Nízkoúrovňové
Verifikace za
běhu II
- Testovací
vlastnosti, temporální vlastnosti, parametrické vlastnosti. - Instrumentace
programů
- Testovací
Testování
paralelních programů I
- Klasifikace
paralelních chyb. - Kontrakty pro
paralelismus. - Systematické
vs. náhodné testování. - Metody vkládání
šumu.
- Klasifikace
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
26 hod., povinná
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).