Task: Plánování testů
Plánování testů přestavuje úlohu zaměřenou na určení základního přístupu k testování.
Disciplines: Testování
Relationships
Main Description
V průběhu několika dílčích kroků je specifikována část vyvíjeného IS/ICT, která by měla být testována, jsou určeny základní testovací techniky a vytvořen orientační harmonogram testování. Při plánování je dále rozdělena i zodpovědnost za přípravu a provedení různých typů testů mezi jednotlivé členy týmu. [Testware, 2011]
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.
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.


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ů.


Funkcionalita, která je dle [Faustová, 2009] charakterizována jako „schopnost softwaru zabezpečit za předem stanovaných podmínek určité funkce“, může být ověřována prostřednictvím testů funkčních, bezpečnostních a zátěžových. V rámci funkčních testů se kontroluje, zda fungování softwaru odpovídá jeho specifikaci (např. v případech užití). Bezpečnostní testy se zaměřují především na ověřování přístupových práv a zátěžové (resp. objemové) testy testují, jak je software schopen fungovat při vysokém zatížení (např. při přeplnění databáze, objemných vstupech apod.). [Faustová, 2009]


Použitelnost je dle [Faustová, 2009] definována jako „míra úsilí, které musí uživatel vynaložit, aby mohl software používat k stanoveným cílům za stanovených podmínek“. Toto hledisko je obvykle velmi problematicky testováno, ačkoliv do značné míry určuje, jak budou uživatelé s novým IS/ICT spokojeni. Testování použitelnosti se zaměřuje především na jeho uživatelské rozhraní, dokumentaci a nápovědu, popřípadě i školící materiály.


Spolehlivost softwaru vyjadřuje jeho schopnost být za daných podmínek používán, bez toho, aby došlo k jeho výpadku či chybě. Při jejím testování obvykle dochází k nasimulování podmínek, za kterých by mohlo k určitému problému dojít, čemuž se věnují tzv. stress testy. Do této kategorie je dále možné zařadit i testy integrity, které testují datovou a funkční stránku spolehlivosti (např. souběžný přístup ke stejným datům, obnovu dat po výpadku apod.) http://www.qualitysoftpro.com/integrity-testing.php [Faustová, 2009]

Výkonnost představuje dle [Faustová, 2009] “schopnost softwaru poskytovat požadovaný výkon vzhledem k použití stanovených zdrojů za stanovených podmínek“. Pomocí výkonnostních testů jsou ověřovány např. víceuživatelské přístupy, či doby odezvy za stanovených podmínek.

Podpora je charakterizována jako přenositelnost určitého IS/ICT do různých prostředí a její ověřování spočívá především v kontrole fungování a instalace při různých konfiguracích hardwaru a softwaru. [Faustová, 2009]

V rámci plánování testů je také vhodné definovat i na jednotlivé úrovně testů. Unit neboli jednotkové testy, které představují nejnižší úroveň testování, jsou prováděny vývojáři, kteří za ně v rámci této metodiky přebírají zodpovědnost. V Plánu testů by proto měly být specifikovány především testy integrační, které ověřují spolupráci částí programového kódu pomocí rozhraní, testy systémové, jež komplexně ověřují kvalitu aplikace v okamžiku, kdy je hotová, a akceptační, což jsou formální testy prováděné ve spolupráci s koncovými uživateli na konci vývoje, na základě kterých se určuje, zda je možné vyvíjený IS/ICT předat zákazníkovi a uvést do provozu.

Key Considerations
Plánování testů by mělo být vždy zahájeno před začátkem nové iterace vývoje.