Artifact: Testovací případ
Sada vstupů pro testování, podmínek před provedením, očekávaných výsledků a podmínek po provedení, vytvořená za určitým cílem jako například otestovat určitou větev kódu či ověřit stupeň splnění určitého požadavku [ISTQB, 2012c, s. 43].
Domains: Návrh testů
Relationships
RolesResponsible: Modified By:
TasksInput To: Output From:
Description
Main Description

Testovací případy jsou výstupem z hlavní aktivity návrh testů, která buď následuje po analýze testů jako separátní aktivita, nebo je s ní sloučena. Testovací případy konkretizují abstraktní testovací podmínky specifikací vstupů pro testování a očekávaných výsledků testů. V rámci implementace testů jsou potom do testovacích případů začleněny testovací skripty, což je konkrétní posloupnost kroků pro vykonání testu. V praxi jsou pod pojmem testovací případ chápány nejen specifikace vstupů a výsledků testů, ale jsou pod tímto pojmem často zahrnuty i testovací skripty, tedy jednotlivé akce testera a očekávané výsledky těchto akcí ze strany systému. V tomto pojetí se tedy tvorba testovacích případů, která spadá do aktivity návrh testů, slučuje s tvorbou testovacích skriptů, která patří již do aktivity implementace testů.

Dle slovníku ISTQB [ISTQB, 2012c, s. 43] je testovací případ definován jako „sada vstupů pro testování, podmínek před provedením, očekávaných výsledků a podmínek po provedení, vytvořená za určitým cílem jako například otestovat určitou větev kódu či ověřit stupeň splnění určitého požadavku.     

Tvorba testovacích případů by měla být zahájena, jakmile jsou identifikovány testovací podmínky a je k dispozici dostatek informací a podkladů pro vytvoření testovacích případů. Testovací případy jsou, stejně jako testovací podmínky, vztaženy na podklady pro testování, produktová rizika, strategické cíle a cíle testování. V nástroji IBM Rational Quality Manager je propojení zajištěno na úrovni vytváření testovacího případu skrze sekci „Requirement links“, kde se testovací případ propojí s požadavky, které pokrývá. S plánem testování jsou testovací případy propojeny v sekci „Test cases“ na úrovni vytváření testovacího plánu. Vazba testovacích případů na testovací podmínky je potom zachycena v dokumentu Seznam testovacích podmínek v sekci Testovací podmínky.

Za vytváření testovacích případů je zodpovědný Test analytik. Při tvorbě testovacích případů postupuje v rámci rozsahu a v souladu s přístupem, stanovenými v plánu testování.

Dle standardu IEEE 829 testovací případ zahrnuje položky, které zachycuje následující tabulka.  

Položky testovacího případu, zdroj: [IEEE, 2008, s. 52-55; SQE, 2001a]

Položka testovacího případu

Popis

Cíl

Identifikace a stručný popis záměru nebo cíle testovacího případu. Specifikuje, co testovací případ testuje, jakou testovací podmínku a jakou položku testování. Dále může zahrnovat i riziko a prioritu testovacího případu.

Vstupy

Specifikace vstupů, které jsou zapotřebí pro spuštění testovacího případu. Může se jednat o konkrétní hodnoty proměnných, nebo o tabulky, databáze a soubory. 

Výsledky

Specifikace výsledků a očekávaného chování testovaných položek (např. doba odezvy).

Potřeby prostředí

Popis testovacího prostředí, které je zapotřebí pro spuštění a provádění testovacího případu a pro záznam výsledků testovacího případu. 

Speciální požadavky na skripty

Popisují speciální omezení testovacích skriptů, jako jsou vstupní a výstupní podmínky při provádění skriptů.

Vazba na ostatní
testovací případy

Seznam testovacích případů, které musí být spuštěny před tímto testovacím případem.

Pro tento pracovní produkt byla nadefinována podle standardu IEEE 829 [IEEE, 2008, s. 52-55; SQE, 2001a]  také ukázková šablona  v nástroji IBM Ratinal Quality Manager. Všechny výše uvedené položky případu užití jsou v šabloně zahrnuty, ovšem jejich struktura byla pozměněna. Vstupy jsou rozlišeny na vstupní data a vstupní podmínky, přičemž ve vstupních podmínkách mohou být zároveň zahrnuty speciální požadavky na skripty a vazby na ostatní testovací případy. Analogicky ke vstupním podmínkám jsou nadefinovány samostatně i výstupní podmínky, které specifikují kroky, které je zapotřebí provést po provedení testovacího případu, opět včetně případných vazeb na ostatní testovací případy. Zvláštní sekce je vyhrazena také na rizika, položky k testování a vazbu na požadavky, které testovací případ pokrývá. Stejně jako v případě plánu testování, je většina položek v češtině, ale některé položky bylo nutné ponechat v angličtině v původní formě předdefinované nástrojem IBM Rational Quality Manager.

Illustrations
Tailoring
Impact of not having Bez testovacích případů chybí při provádění testů kontrola nad tím, co už bylo otestováno a co ještě zbývá otestovat a informace o tom, kolik testovacích případů prošlo nebo selhalo. Chybí tak důležitý podklad pro rozhodnutí o tom, zda daný software splňuje očekávání zainteresovaných stran. Při testech hrozí, že se zapomene řádně otestovat nějaká důležitá oblast nebo pokrýt testy významné riziko. Zároveň může dojít k chybné interpretaci pozorovaných výsledků testů, protože nejsou definovány očekávané výsledky a je nutné vycházet buď přímo z podkladů pro testování, nebo postupovat intuitivně. Obtížnějším se stává i reportování defektů, protože je nutné přesně popsat, jakým způsobem k selhání došlo, namísto aby defekt byl navázán přímo na testovací případ, při kterém  k selhání došlo. Absence testovacích případů také znemožňuje opakování stejných testů s časovým odstupem.
Reasons for not needing Testovací případy by měly být vytvářeny vždy. Ve výjimečných případech ovšem mohou být definovány pouze testovací podmínky (např. daná položka pro testování nevyžaduje podrobný popis testovacích případů, požadavky na systém se neustále mění, poklady pro testování nejsou dostatečné pro definici očekávaných výsledků, nebo projektový manažer zkrátil čas původně vymezený na testování).
Representation Options Testovací případy je vhodné udržovat přímo v nástroji IBM Quality Management. Tam je lze přímo propojit s plánem testování a požadavky, s testovacími skripty a následně je zařadit do testovacích sad. Pro testovací případy je klíčová jejich výstižnost a srozumitelnost.