Detail předmětu
Testování a dynamická analýza
FIT-ITSAk. rok: 2023/2024
Specifikace testů. Kritéria pokrytí zdrojových kódů (EC, NC, EPC, PPC). Kritéria pokrytí logických výrazů (PC, CC, MCDC). Rozklad vstupní domény. Kritéria pokrytí vstupní domény. Black-box analýza. Sledování práce se sdílenými prostředky. Testování vícevláknových aplikací. Testování síťových aplikací. Testování GUI. Výkonnostní testování. Řízení testování.
Jazyk výuky
čeština, angličtina
Počet kreditů
5
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
formální jazyky a překladače, algoritmy, operační systémy
Pravidla hodnocení a ukončení předmětu
Za 2 projekty mohou studující získat až 40 bodů a za závěrečnou zkoušku až 60 bodů.
Vypracování a obhajoba projektů v předepsaných termínech.
Vypracování a obhajoba projektů v předepsaných termínech.
Učební cíle
Získat přehled o etapě verifikace softwarových systémů, pozornost se věnuje problematice dynamické analýzy
programového vybavení. Získat praktické dovednosti s testováním software na úrovni potřebné pro osobu
zodpovědnou za kvalitu produktu (QA testera). Zvládnutí tvorby automatizovaných testů různých aspektů
verifikovaných programů. Získat přehled plánování a řízení testování.
Student zná základní techniky testování software. Je schopen vytvářet efektivní testovací sady softwarových produktů. Umí analyzovat zdrojové kódy, zná typická slabá místa programu citlivá na výskyt chyb. Umí analyzovat chování software s konečným či nekonečným během bez znalosti jeho zdrojových kódů. Student umí testovat a/nebo analyzovat komunikaci programů, výkon programu, využití sdílených prostředků, práci s datovými úložištěmi a funkci grafického uživatelského rozhraní. Student umí systematickým způsobem hledat chyby v programech. Student zná základy plánování a řízení testování. Student se seznámí s odbornými termíny předmětu v anglickém jazyce. Student se formou projektu naučí analyzovat software za účelem zvýšení jeho kvality. Získá dovednost tvorby testovacích sad a hledání chyb v programech.
Student zná základní techniky testování software. Je schopen vytvářet efektivní testovací sady softwarových produktů. Umí analyzovat zdrojové kódy, zná typická slabá místa programu citlivá na výskyt chyb. Umí analyzovat chování software s konečným či nekonečným během bez znalosti jeho zdrojových kódů. Student umí testovat a/nebo analyzovat komunikaci programů, výkon programu, využití sdílených prostředků, práci s datovými úložištěmi a funkci grafického uživatelského rozhraní. Student umí systematickým způsobem hledat chyby v programech. Student zná základy plánování a řízení testování. Student se seznámí s odbornými termíny předmětu v anglickém jazyce. Student se formou projektu naučí analyzovat software za účelem zvýšení jeho kvality. Získá dovednost tvorby testovacích sad a hledání chyb v programech.
Prerekvizity a korekvizity
- doporučená prerekvizita
Algoritmy - doporučená prerekvizita
Formální jazyky a překladače - doporučená prerekvizita
Operační systémy
Základní literatura
Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, 2008, 322 s. ISBN 978-0-511-39330-3.
Doporučená literatura
Elearning
eLearning: aktuální otevřený kurz
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
26 hod., nepovinná
Vyučující / Lektor
Osnova
- Role testování a dynamické analýzy ve vývoji počítačových systémů. Vysvětlení pojmů. Modely testování. Požadavky na testy, specifikace testů a plán testování. Testy řízený vývoj.
- Metoda testování se znalostí zdrojových kódů. Kritéria pokrytí zdrojových kódů. Graf řízení toku. Kritéria pokrytí grafu. Kritéria datových toků.
- Vztah pokrytí grafu a zdrojových kódů. Vztah pokrytí datových toků a zdrojových kódů.
- Kritéria pokrytí logických výrazů.
- Vstupní doména a její modely. Kritéria pokrytí vstupní domény.
- Testování založené na syntaxi.
- Tvorba testů ze specifikace požadavků systému. Testování podle V-modelu.
- Kombinace testů. Lokalizace chyb z výsledků testování. Reportování chyb.
- Dynamická analýza programů bez znalosti zdrojových kódů. Analýza na základě sledování knihovních a systémových volání. Získávání grafu toku dat a řízení. Omezení sekvence událostí.
- Virtualizované prostředí pro dynamickou analýzu. Analýza využití sdílených prostředků. Kritéria pokrytí založená na využití sdílených prostředků.
- Testování vícevláknových aplikací.
- Testování síťových aplikací. Testování grafického uživatelského rozhraní a jeho automatizace. Testování nefunkcionálních vlastností systémů.
- Výkonnostní testování. Plánování a management testování. Náhled do základů statické analýzy.
Projekt
26 hod., povinná
Vyučující / Lektor
Osnova
- Návrh testovací sady odpovídající zadanému testovacímu kritériu pro vybraný software.
- Implementace automatizované testovací sady.
Elearning
eLearning: aktuální otevřený kurz