Test Case – Testovací případ

Během celého testovacího cyklu jsou odhalovány chyby v softwaru. Největší šance na odhalení chyby je využít cílené testování založené na zdokumentovaných testovacích případech.

Testovací případ, často se využívá i anglický výraz „test case“, popisuje konkrétní akce prováděné s určitou softwarovou komponentou a jejich očekávané výsledky [1]. Softwarovou komponentou v tomto případě může být například část aplikačního rozhraní nebo také softwarový systém běžící na několika strojích souběžně. Testovací případy se vytvářejí jak pro manuální tak i automatizované testy. Pro účely manuálního testování jsou tvořeny seznamem prováděných kroků a očekávaných výsledků. Automatizované testovací případy se také někdy označují jako testovací skript. Tvoří je sada programových instrukcí a na rozdíl od manuálních by měly být schopny sami rozpoznat, zda uspěly či selhaly.

Testovací případ je tedy dokument, popisující určitou činnost, kterou je potřeba otestovat. Obecně lze říci, že obsahuje kroky se skutečnými vstupními hodnotami spolu s očekávanými výsledky.

V tabulce 1 je zobrazen jednoduchý formulář pro správu testovacího případu. Dále uvádím několik podstatných vlastností, které dle mého názoru přispívají ke kvalitě testovacího případu.

  • Identifikátor – jedinečný identifikátor, na který se budu odkazovat z ostatních dokumentů
  • Účel – vysvětlení k čemu daný testovací případ slouží
  • Podmínky – seznam potřebných dat či vlivů prostředí podstatných pro provedení testovacího případu
  • Specifikace kroků a vstupů – seznam všech kroků a souvisejících vstupních dat, nutných pro úspěšné a opakovatelné provedení testovacího případu
  • Očekávané výsledky – souhrn všech informací, potřebných k určení, zda případ proběhl úspěšně či nikoliv

Tabulka 1: Příklad návrhu jednoduchého testovacího případu

ID: #1
Název: Import šeků
Účel: Ověření zda proběhne import připravených dat
Typ testů: Verifikační
Čas: 5 min.
Podmínky: Připravená data (soubory šeků) ve složce pro importy
Kroky:
  1. V menu kliknu na odkaz „Import files“
  2. Stisknu tlačítko Import
Očekávaný výsledek:
  1. Proběhne import dat
  2. V kartě „Import files“ se zobrazí informace o posledním importu
  3. V kartě „Imported files“ se zobrazí údaje s importovaným souborem
  4. V kartě „Update“ se zobrazí nově importované šeky
Provedení testu: OK
Poznámky:

U větších projektů se testovacích případů vytváří běžně až statisíce. K jejich správě je pak nezbytné využívat specializovaný systém (u menších projektů se často využívá pouze tabulkový editor). Systémy pro správu testovacích případů (test case manager, zkratka TCM nebo Test management tool – jako např. TestLink) slouží k vytváření, verzování, uchovávání a spouštění testovacích případů. TCM systémy se v mnoha směrech podobají systémům na evidenci chyb. Některé systémy pro sledování chyb umožňují zároveň spravovat jak chyby, tak i testovací případy. Jejich výhodou je i možnost zaznamenávat vazby mezi testovacími případy a v nich nalezenými chybami či sledovat jejich aktuální stav řešení. Na jednom projektu však nedoporučuji využívat více TCM. Jak je uvedeno v [1], při použití několika různých TCM během testovacího cyklu nastávají komplikace např. při testech kompatibility, kdy se musí kopírovat testovací případy z jednoho manageru do druhého. Tato činnost sebou kromě zmařeného času přináší i vysoké riziko poškození integrity či obsahu testovacích případů.

Navrhuji, aby testovací případy neobsahovaly zbytečně mnoho informací. V tomto případě doporučuji držet se hesla „méně je někdy více“. S testovacími případy bude v průběhu testování softwaru intenzivně pracovat několik členů testovacího týmu. Proto vyplňování zbytečných údajů může mít negativní dopad na pracovní morálku a také na dobu nutnou pro provádění testů. Aby mohl být postup testování softwaru efektivní, je zapotřebí pracovat s efektivními testovacími případy.

[1]   PAGE, Alan. JOHNSTON, Ken. Jak testuje software Microsoft., Brno: Computer Press. 2009. 384 s. ISBN 978-80-251-2869-5


Share on TwitterShare via email

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *