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
Roles | Responsible:
| Modified By:
|
Tasks | Input 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. |
|