Testování prázdných hodnot
Hodnocení uživatelů: / 0
NejhoršíNejlepší 

{jcomments on}Hned na úvod bychom si mohli říct, že prázdná hodnota je vlastně hodnotou nesmyslnou a tudíž by se toto téma dalo vyřídit článkem, který tu už je. Jenže nedalo. Prázdné hodnoty na vstupu do aplikace mají pár specifik, kterým stojí za to se věnovat zvlášť.

Samotné nevložení hodnoty do vstupu nemusí být ještě tragédií. Existuje ale typ polí, který prázdný být nesmí. Takovým polím říkáme pole povinná (mandatorní). Je pochopitelné, že to, která pole jsou nebo nejsou povinná záleží na vývojáři potažmo zákazníkovi, který vývoj aplikace zadal. Každopádně pokud je určité pole označeno jako povinné, jeho chování ohledně prázdné hodnoty se liší od polí nepovinných.

Z logiky pojmenování těchto polí vyplývá, že je povinné je vyplnit a tedy musí při vstupu do aplikace obsahovat jakoukoli (samozřejmě validní) hodnotu. Z pohledu vývojáře zde musí existovat validace, která prázdné povinné pole zachytí a uživateli vrátí smysluplnou chybovou hlášku (případně se zachová jinak, podle požadavků zákazníka). Způsobů jak povinné položky na straně kódu ošetřit existuje víc a tester by měl mít alespoň základní představu, jak konkrétně je to řešeno v konkrétním případu, který testuje. Napadnout by ho mohla například otázka - Je mezera prázdnou hodnotou? na základě odpovědi od vývojáře, případně analytika nebo zákazníka, může upravit svoje testy.

V případě formulářů, které obsahují povinné položky se nabízí nejjednodušší způsob jak otestovat jejich validaci. Jednoduše odeslat formulář prázdný. Takový test má samozřejmě smysl, ale vypovídací hodnotu má pouze tehdy, kdy pro každé validované povinné pole existuje specifické chování (tedy například specifická chybová hláška) v okamžiku jeho nevyplnění. V opačném případě nám případná chybová hláška sice ukazuje, že validace existuje, ale nic nám neříká o tom, jak konkrétně funguje. Například hláška "Nejsou vyplněna povinná pole" sice dokazuje přítomnost validace, ale už nespecifikuje, zda proběhla validace celého formuláře nebo bylo jeho zpracovávání zastaveno při první chybě, případně zda jsou skutečně validována všechna povinná pole. Korektní test povinných polí by měl vypadat tak, že se testuje validace každého pole zvlášť (tedy jedno povinné pole je prázdné, všechny ostatní jsou vyplněna). 

U nepovinných polí se zdá, že problém s prázdnou hodnotou není nutné řešit. To ale není zcela pravda. Na rozdíl od polí povinných musí ta nepovinná umožnit zpracování formuláře i v případě, že neobsahují žádnou hodnotu. To se může zdát triviální, přesto i zde se mohou vyskytnout chyby. Proto by testy měly obsahovat i variantu, kdy jsou ve formuláři vyplněna pouze povinná pole a nepovinná jsou prázdná.

Musím upozornit, že testování prázdných hodnot není omezenou pouze na vstup pomocí formuláře v GUI aplikace. Prázdná mohou být i pole ve vstupních souborech, prázdná může být i hodnota předávaná pomocí URL, nulová může být i velikost souboru (ať už na vstupu, tak i na výstupu). Všechny tyto možnosti by měly být zváženy při plánování testů.

 

Nejbližší události


Testování software, Powered by Joomla!; Joomla templates by SG web hosting