Task: Analýza a tvorba automatizovaných testů
V této úloze se naplánované testy připraví k naprogramování jednotlivých testovacích skriptů provedené rolí Tester pro automatizované testování. Procesem testování se musí naprogramovat každý dostupný testovací skript k automatizaci.
Disciplines: Testování
Relationships
Main Description

Cílem je vytvořit sadu automatizovaných testů, která funguje v daném testovacím prostředí. Tento úkol je hlavní náplní role Tester pro automatizované testování, popřípadě zde může spolupracovat role Správce automatizace. Úloha vyžaduje specifické znalosti v oblasti automatizace a skriptování v nástroji Selenium WebDriver a v programovacím jazyce Java. Kromě vytváření Automatizovaných testů se zde vytvoří Testovací případ, Testovací sada a Seznam testovacích nápadů.

Inspirován touto úlohou jsem byl u Rozšíření MMSP o automatizované testování, která navíc ještě přínáší jako výstup Plán automatizace. [Rojo, 2015]

Steps
Mapování testovacích nápadů
Analýza a tvorba automatizovaných testů by měla být zahájena mapováním testovacích nápadů, což v podstatě představuje vytvoření jednoduchého seznamu všeho, co by mělo být otestováno. Mapování obvykle probíhá ještě před tím, než vůbec existuje jakákoliv testovatelná verze vyvíjeného IS/ICT, a proto vychází především z nashromážděných požadavků na systém a případů užití. Všechny testovací nápady, které jsou vymyšleny, by měly být zaznamenány v Seznamu testovacích nápadů.
Tvorba Testovacích případů

Na mapování testovacích nápadů navazuje tvorba Testovacích případů, se kterou je možné začít v okamžiku, kdy je již částečně vytvořena testovaná aplikace, či je alespoň k dispozici detailní návrh jednotlivých obrazovek uživatelského rozhraní. V podstatě se jedná vytvoření detailního popisu testů, který obsahuje krok za krokem přesný návod toho, jak budou testy prováděny.

Již v této fázi nutné počítat s tím, že mohou být identifikovány určité nesrovnalosti a problémy specifikace požadavků, které bude nutné konzultovat s analytiky. Vzhledem k tomu, že testování může být prováděno i jinými osobami, než těmi, kdo testovací případy vytvářeli, je vhodné psát testovací případy takovým způsobem, aby jim rozuměl kdokoli. [Faustová, 2009]

Tvorba Testovacích sad

Předposledním krokem v rámci analýza a tvorba automatizovaných testů je tvorba Testovacích sad, kdy jsou jednotlivé testovací případy skládány tak, aby umožňovaly kompletní otestování určité části systému. Do testovacích sad jdou dále doplňovány další vstupní podmínky jednotlivých testovacích případů, které umožňují plynulý průchod celé testovací sady.

Ať už se jedná o testovací sady pro manuální testy, nebo test scripty pro testy automatické, je vhodné je ještě před jejich provedením zkontrolovat, zda jsou správně napsané a samy o sobě negenerují nějaké chyby. Zároveň je vhodné testovací sady konzultovat s vývojáři, kteří jsou zodpovědní za část aplikace, která je danou sadou testována. Někdy se může stát, že je určitý požadavek ve specifikaci pochopen vývojáři a testery odlišně, a vznikají chyby, kterým se může touto revizí testovacích sad předejít.

Definice Automatizovaných testů
Při skládání testovacích sad jsou definovány testovací skripty Automatizovaných testů nástroje Selenium WebDriver napsaných v jazyce Java, přičemž specifikována by měla být jak data vstupní, tak výstupní. Tyto testovací skripty připraví Tester pro automatizované testování, přičemž provádí i jejich Unit testy.
Vyzkoušení testovacích skriptů
Naprogramované testovací skripty jsou hotovy a připraveny pro spuštění. Kontroluje se funkčnost testovacích skriptů provedená rolí Tester pro automatizované testování, nikoliv správa testů. Tento krok ověří, zda jsou testovací skripty požadované podle plánu testování. Pilotní vyzkoušení testů s nástrojem Selenium WebDriver není složité, a proto tuto činnost vykonává Tester pro automatizované testování, popřípadě Správce automatizace. Konkrétně se jedná o jednotkové testy prováděné knihovnou JUnit4. Výstupy testů vedou k následující úloze Správa automatizovaných testů.