Název:

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

Zkratka:ATA
Ak.rok:2019/2020
Semestr:letní
Studijní plán:
ProgramObor/
specializace
RočníkPovinnost
MITAINADE-volitelný
MITAINBIO-volitelný
MITAINCPS-volitelný
MITAINEMB-volitelný
MITAINGRI-volitelný
MITAINHPC-volitelný
MITAINIDE-volitelný
MITAINISD-volitelný
MITAINISY-volitelný
MITAINMAL-volitelný
MITAINMAT-volitelný
MITAINNET-volitelný
MITAINSEC-volitelný
MITAINSEN-povinný
MITAINSPE-volitelný
MITAINVER-povinný
MITAINVIZ-volitelný
Vyučovací jazyk:čeština
Kredity:5 kreditů
Ukončení:zkouška (kombinovaná)
Výuka:
hod./sempřednáškasem./cvič.lab. cvič.poč. cvič.jiná
Rozsah:2600026
 zkouškatestycvičenílaboratořeostatní
Body:7000030
Garant:Smrčka Aleš, Ing., Ph.D. (UITS)
Zástupce garanta:Rogalewicz Adam, doc. Mgr., Ph.D. (UITS)
Přednášející:Rogalewicz Adam, doc. Mgr., Ph.D. (UITS)
Smrčka Aleš, Ing., Ph.D. (UITS)
Fakulta:Fakulta informačních technologií VUT v Brně
Pracoviště:Ústav inteligentních systémů FIT VUT v Brně
Rozvrh:
DenVýukaTýdenMístnostOdDoPSKSkupiny
přednáškavýukyA113 10:0011:501MIT 2MIT xx
 
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).
Anotace:
  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ů.
Proč je předmět vyučován:
  Testování softwaru je v popředí při ověřování kvality. V době zvyšující se složitosti návrhů systémů se zvyšují i požadavky na automatizaci každé vývojové fáze včetně ověřování kvality. Studenti se v předmětu naučí různé přístupy automatizovaného testování softwaru a přístupy automatické analýzy založené na sledování běhů programů. Absolventi předmětu se pro jejich získané znalosti stávají potřebnými členy každého vývojového týmu.
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. Lokalizace chyb
    • Lokalizace založená na metodě řezů.
    • Lokalizace založená na chybových reportech.
  6. 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í.
  7. Testování řízené daty II
    • 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
    • Nízkoúrovňové stopování.
  10. Verifikace za běhu II
    • Testovací vlastnosti, temporální vlastnosti, parametrické vlastnosti.
    • Instrumentace programů
  11. Testování paralelních programů I
    • Klasifikace paralelních chyb.
    • Kontrakty pro paralelismus.
    • Systematické vs. náhodné testování.
    • Metody vkládání šumu.
  12. Testování paralelních programů II
    • Algoritmy Atomrace, Eraser.
    • Vektorové hodiny.
    • Algoritmus Fasttrack.
  13. Management testů
    • Prioritizace testů.
    • Evaluace testovacích sad. Test flakiness.
    • Reportování výsledků. Spolehlivost reportů, ukazatele Accuracy, Precision, Recall, F1.
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).
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.
Literatura studijní:
 
  • 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.
  • Farrell-Vinay, P.: Manage Software Testing. Auerbach Publications, 2008, 537 s., ISBN 978-0-8493-9383-9.
Průběžná kontrola studia:
  Dva hodnocené projekty, každý za 15 bodů.
Podmínky zápočtu:
  Získání 15 bodů z projektů.
 

Vaše IPv4 adresa: 34.229.126.29