Detail předmětu

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

ATA Ak. rok 2024/2025 letní semestr 5 kreditů

Aktuální akademický rok

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

Garant předmětu

Koordinátor předmětu

Jazyk výuky

čeština

Zakončení

zkouška (kombinovaná)

Rozsah

  • 26 hod. přednášky
  • 26 hod. projekty

Bodové hodnocení

  • 70 bodů závěrečná zkouška (písemná část)
  • 30 bodů projekty

Zajišťuje ústav

Přednášející

Cvičící

Cíle předmětu

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

Literatura studijní

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

Literatura referenční

  • 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

Osnova přednášek

  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.

Osnova ostatní - projekty, práce

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

Průběžná kontrola studia

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

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

Nahoru