Task: Plánování testů
Plánování testů
Relationships
Main Description

V průběhu plánování testů je specifikována část vyvíjeného systému, která by měla být testována, jsou určeny základní testovací techniky, vytvořen orientační harmonogram testování a rozdělena zodpovědnost za přípravu a provedení různých typů testů mezi jednotlivé členy týmu (Rejnková, 2010).

V rámci plánování testů dochází k tvorbě pracovního produktu Plán testů. Tvorbu tohoto dokumentu má na starosti manažer testování. Jedná se o stěžejní dokument v procesu testování, s jehož tvorbou je vhodné začít v dostatečném časovém předstihu.

Z pohledu testování webových služeb v rámci této úlohy dochází i k tvorbě pracovního produktu Standardy tvorby testů v SoapUI, který je součástí plánu testování a má ho na starosti především tester služeb.

Při testování webových služeb lze sledovat proces testování, který je definován V-modelem. Jednotlivé fáze testování tak, jak jdou za sebou, znázorňuje obrázek níže. Popis jednotlivých fází je uveden v kroku Plánování provedení testů.

Fáze testování definované V-Modelem 

Steps
Definování strategie testování

První, co by mělo být provedeno, je definice strategie a přístupu k testování, které jsou zaznamenány v Plánu testů. Na základě již identifikovaných požadavků na vyvíjené řešení jsou definovány jednotlivé typy a úrovně testů, jsou určeny oblasti pro automatizované a manuální testování, je definován základní způsob reportování chyb apod. (Rejnková, 2010). 

V rámci tohoto kroku je vytvořen dokument Standardy tvorby testů v SoapUI, který vytváří tester služeb.

Plánování provedení testů

Následně probíhá plánování provedení testů, v rámci kterého je specifikován harmonogram průběhu testů a jsou určeny osoby, které jsou za jednotlivé úlohy týkající se testování v rámci iterace zodpovědné. Do plánu testů se také doplní i seznam výstupů, které by měly být vytvořeny (Rejnková, 2010).

Aby budoucí testování opravdu komplexně zhodnotilo vyvíjený IS/ICT, doporučuje se již při jeho plánování vycházet z metody FURPS+, která se zaměřuje na ověřování kvality softwaru z pěti základních hledisek, a to z hlediska funkcionality (functionality), použitelnosti (usability), spolehlivosti (reliability), výkonnosti (performance) a podpory (supportability). V rámci těchto základních kategorií je dále možné definovat konkrétní typy testů (Rejnková, 2010).

V rámci plánování testů je také vhodné definovat jednotlivé fáze testování.

Test jednotek
Během této fáze dochází k provádění unit testů, které by měl provádět vývojář. Předmětem je individuální testování operací a metod webové služby. Hlavním cíle je otestování toho, zda se jednotlivé komponenty webové služby chovají v izolovaném prostředí tak, jak je požadováno, a zda je možné webovou službu zkompilovat. Pro tvorbu unit testů je možné využít frameworky, které poskytuje daný programovací jazyk, v němž je webová služba vytvářena (v případě Javy to může být například framework JUnit). Vzhledem ke své povaze jsou tyto testy často automatizované.

Integrační test
V rámci této fáze se provádějí integrační testy, které by měl realizovat tester webových služeb. Integrační testy obvykle následují po jednotkovém testování – tj. po ověření, že jednotlivé komponenty služby se chovají, jak je požadováno. V rámci integračních testů se ověřuje, zda integrování s dalšími komponentami systému nenarušilo funkcionalitu webové služby. Testuje se tak rozhraní služby, napojení na externí webové služby, ESB a další komponenty, s kterými může webová služba komunikovat. V případě, že část, na kterou se webová služba integruje, není ještě dostupná nebo dovyvinutá, je možné využít tzv. mocky služeb.

Systémový test
V rámci systémových testů probíhají testy funkční (testy funkcionality, regresní testy) a nefunkční (performance testy, bezpečnostní testy), které má na starosti tester webových služeb. Tyto testy obvykle následují po integračním testování, ale testování funkcionalit webové služby může proběhnout i po fázi jednotkového testování, ještě před integračním testování za účelem ověření kvalit webové služby. Předmětem systémových testů je ověření, zda služba naplňuje stanovené byznys požadavky (funkční i nefunkční), které byly identifikované v rámci analýzy. V případě návazností na jiné služby nebo komponenty, které stále nejsou dostupné nebo dovyvinuté, lze opět použít mocky služeb.

Akceptační test
V rámci této fáze probíhají především akceptační testy, které provádí zákazník (respektive uživatelé určení zákazníkem). Akceptační testování obvykle následuje po úspěšném ukončení systémových testů. Akceptační kritéria, respektive testy jsou připraveny předem (obvykle se připravují ve fázi analýzy požadavků) a jsou schváleny oběma stranami (jak dodavatelem, tak zadavatelem).