Testovací případ
V softwarovém inženýrství je testovací případ (anglicky test case) souborem podmínek, za kterých tester určí, zda aplikace, softwarový systém nebo jedna z jeho funkcí funguje tak, jak bylo původně zamýšleno. Mechanismus, kterým se určuje zda softwarový program nebo systém úspěšně prošel takovýmto testem, se označuje jako testovací orákulum. Tímto orákulem může být například požadavek, případ užití, nebo heuristika. Pro dostatečnou kontrolu před vydáním softwarového programu, je třeba provést jeden nebo více testovacích případů. K zápisu testovacích případů slouží testovací skripty, které bývají zahrnuty do souboru testů.
Formální testovací případy
Pro plné otestování všech požadavků, které má aplikace splňovat, musí existovat nejméně dva testovací případy pro každý požadavek: jeden pozitivní a jeden negativní test. Pokud se požadavek skládá z dílčích požadavků, musí i pro každý z nich existovat nejméně dva testy. Vazby mezi požadavkem a testem se často zaznamenávají do speciální matice (traceability matrix). Zápis testovacího případu by měl obsahovat popis testované funkcionality a přípravy nutné k provedení testu.
Formálně zapsané testovací případy jsou charakterizovány známými vstupy a očekávanými výstupy, které jsou vypracovány před provedením testu. Známé vstupy by měly otestovat podmínky před spuštěním a očekávané výstupy podmínky po spuštění.
Neformální testovací případy
Pro aplikace nebo systémy bez formálních požadavků mohou být testovací případy sepsány na základě podobně fungujícího programu. V některých školách testování se na místo testovacích případů zaznamenávají aktivity a výsledky testů.
Testovací scénář obsahuje hypotetické příklady, které by měly testerovi pomoci při promýšlení komplexního problému nebo systému. Tyto scénáře obvykle neobsahují detaily. Mohou být zjednodušené do diagramu testovacího prostředí nebo do popisu v obecné řeči. Ideálním scénářem je příběh, který je motivující, důvěryhodný, komplexní a jednoduše proveditelný. Testovací případy bývají často jednokrokové, zatímco scénáře většinou obsahují více kroků.
Typický formát zápisu testovacího případu
Testovací případ je obvykle jeden krok (příležitostně sekvence kroků) testující správné chování, funkčnost, nebo vlastnost aplikace. Je obvykle dán očekávaný výsledek nebo závěr.
Dodatečné informace, které mohou být obsaženy:
- ID testovacího případu
- popis testovacího případu
- testovací krok nebo pořadí provedení
- související požadavky
- úroveň
- kategorie testu
- autor
- příznak zda byl test proveden automaticky
- prošel/selhal
- poznámky
Větší testovací případy mohou obsahovat také náležitosti potřebné pro provedení testu.
Testovací případ by měl obsahovat také místo pro zobrazení aktuálního výsledku.
Kroky testovacího případu mohou být uloženy v dokumentu textového procesoru, tabulkového procesoru, v databázi nebo na jiném běžném datovém úložišti.
V databázovém systému mohou být ukládány také minulé výsledky testů, kdo je vygeneroval a konfigurace systému použitá pro běh testu. Tyto předchozí výsledky bývají uloženy v oddělené tabulce.
Soubory testů často obsahují
- Stručné shrnutí testů
- Konfiguraci
Mimo čas, který je potřebný k popisu funkcionality a přípravy potřebné pro provedení testu, mnoho času zabere vytváření a modifikace testů při změně systému.
Ve speciálních případech může být úspěšnost testu ověřena a potvrzena týmem expertů. Toto se často stává při stanovování hodnoty výkonu u nového produktu. První test je brán jako etalon pro následující testy a další cykly vydávání produktu.
Akceptační testy jsou rozličné testovací případy prováděny skupinou koncových uživatelů nebo klientů systému. Tyto testy ověřují, že vyvíjený systém splňuje zadané požadavky nebo kontrakt. Uživatelské akceptační testy se odlišují zahrnutím testovacích případů „šťastné cesty“ (happy path) nebo pozitivní testovací případy až k téměř úplnému vyloučení negativních testovacích případů.