Detail předmětu

Automatizované testování a dynamická analýza

FIT-ATAAk. rok: 2024/2025

Dva hodnocené projekty po 20 bodech a závěrečná zkouška za 60 bodů.

Jazyk výuky

čeština

Počet kreditů

5

Garant předmětu

Pravidla hodnocení a ukončení předmětu

Dva hodnocené projekt po 20 bodech a závěrečná zkouška za 60 bodů.

Učební cíle

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).

Základní literatura

Farrell-Vinay, P.: Manage Software Testing. Auerbach Publications, 2008, 537 s., ISBN 978-0-8493-9383-9
Myers, G. J., Sandler, C., Badgett, T.: The Art of Software Testing, 3. vydání. John Wiley & Sons, 2011, 256 s., ISBN 978-1118031964

Doporučená literatura

Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, 2008, 322 s. ISBN 978-0-511-39330-3.
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.
Spillner, A., Linz, T. , Schaefer, H.: Software Testing Foundations : A Study Guide for the Certified Tester Exam. Rocky Nook Computing. 2014. 296 s.. ISBN 9781937538422

Elearning

Zařazení předmětu ve studijních plánech

  • Program MITAI magisterský navazující

    specializace NGRI , 0 ročník, letní semestr, volitelný
    specializace NADE , 0 ročník, letní semestr, volitelný
    specializace NISD , 0 ročník, letní semestr, volitelný
    specializace NMAT , 0 ročník, letní semestr, volitelný
    specializace NSEC , 0 ročník, letní semestr, volitelný
    specializace NISY do 2020/21 , 0 ročník, letní semestr, volitelný
    specializace NNET , 0 ročník, letní semestr, volitelný
    specializace NMAL , 0 ročník, letní semestr, volitelný
    specializace NCPS , 0 ročník, letní semestr, volitelný
    specializace NHPC , 0 ročník, letní semestr, volitelný
    specializace NVER , 0 ročník, letní semestr, povinný, je součástí profilujícího základu
    specializace NIDE , 0 ročník, letní semestr, volitelný
    specializace NISY , 0 ročník, letní semestr, volitelný
    specializace NEMB do 2023/24 , 0 ročník, letní semestr, volitelný
    specializace NSPE , 0 ročník, letní semestr, volitelný
    specializace NEMB , 0 ročník, letní semestr, volitelný
    specializace NBIO , 0 ročník, letní semestr, volitelný
    specializace NSEN , 0 ročník, letní semestr, povinný, je součástí profilujícího základu
    specializace NVIZ , 0 ročník, letní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Testování založené na modelech I
    • Graf toku řízení, interprocedurální CFG.
    • Generování testovacích případů řízené pokrytím.
  2. Testování založené na modelech II
    • Automatizace jednotkových testů.
    • Návrhové vzory jednotkových testů xUnit.
  3. Stálost testů a testovací dvojníci
    • Stálost testů podle xUnit.
    • Testovací dvojníci a platformy pro mocking.
  4. 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).
  5. Testování řízené daty I
    • Kombinační testování.
    • Minimalizace testovacích dat.
  6. Testování řízené daty II
    • Testování aplikačního rozhraní.
    • Systematické generování testovacích dat.
  7. Testování řízené daty III
    • Mutační testování.
    • Pokrytím řízené fuzz testování
  8. Výkonnostní testování
    • Měřitelné výkonnostní parametry.
    • Typy výkonnostního testování.
    • Proces výkonnostního testování.
  9. Verifikace za běhu I
    • Testovací vlastnosti, temporální vlastnosti, parametrické vlastnosti.
    • Instrumentace programů
  10. Testování paralelních programů I
    • Klasifikace paralelních chyb.
    • Kontrakty pro paralelismus.
    • Systematické vs. náhodné testování.
    • Metody vkládání šumu.
  11. Testování paralelních programů II
    • Algoritmy Atomrace, Eraser.
    • Vektorové hodiny.
    • Algoritmus Fasttrack.
  12. Verifikace za běhu II
    • Nízkoúrovňové stopování.
    • Post-mortem analýza.

Projekt

26 hod., povinná

Vyučující / Lektor

Osnova

  1. Návrh automatizované testovací sady se znalostí zdrojových kódů a/nebo požadavků.
  2. Implementace monitoru pro RV (verifikace za běhu).

Elearning