Testování hraničních hodnot
Hodnocení uživatelů: / 0
NejhoršíNejlepší 

{jcomments on}Testování hraničních hodnot (boundary value testing) je jednou ze základních testovacích technik. Její použití na jedné straně jednoduché a na straně druhé důležité. Testují se její pomocí chyby, které patří k nejčastějším.

 

Při testování je (kromě ověření, že aplikace se chová jak očekáváme) důležité zaměřit se na potencionálně nebezpečná místa. A jedním takovým místem jsou hraniční hodnoty. Touto technikou jsou testovány situace, pro které jsou stanovené nějaké minimální nebo maximální hodnoty. Tedy všude tam, kde existují interval hodnot, pro které se má aplikace chovat jinak než pro hodnoty mimo tento interval.

Jako příklad si můžeme uvést hodnotu věku uživatele aplikace. Dejme tomu, že aplikace obsahuje pole, do kterého uživatel zadá svůj věk. Pole je pochopitelně číselné. A předpokládejme, že aplikace obsahuje podmínky, které na základě zadaného věku zobrazují uživateli například tipy na zboží odpovídající  příslušné věkové skupině. Může být například požadováno, aby uživatelům od 20 let výše bylo nabízeno jiné zboží než uživatelům mladším.

Při běžném testu funkčnosti použijeme pro otestování korektního běhu vždy nějakou hodnotu uvnitř příslušného intervalu a zjistíme, že dané podmínky se chovají dle očekávání.

Ovšem v rámci testu hraničních hodnot se zaměříme právě na hranice jednotlivých intervalů. Při úvaze o tom, proč to tak děláme, vycházíme z toho, jakým způsobem jsou obecně podobné podmínky v rámci programování realizovány. Použití znamének "<", ">" a "=" v podmínkách celkem pochopitelně umožňují vytvářet otevřené a uzavřené intervaly, tak jak je známe z matematiky. Ovšem, musí se použít správně.

Pro otestování hraničních hodnot se obvykle (a celkem logicky) využívá tří hodnot z definované hranice. Tedy konkrétní hraniční hodnoty, nejbližší nižší a nejbliží vyšší. V modelovém příkladu tak pro testování použiji tyto hodnoty: 19, 20, 21. Pro hodnotu 19 očekávám jiné chování než pro hodnotu 21 (tedy zobrazení zboží odpovídající příslušné věkové skupině). Hodnota 20 je hraniční. V takto definovaném případu se očekává, že aplikace se bude pro hodnotu 20 chovat stejně jako pro hodnotu 21. 

Kromě chyb vzniklých tím, že hraniční hodnota spadá do špatného intervalu a aplikace tak nechová dle očekávání, může nastat také situace, kdy hraniční hodnota nespadá do žádného, v aplikaci definovaného, intervalu. Tedy jinak řečeno - podmínky jsou navrženy tak špatně , že hraniční hodnota nesplňuje žádnou z nich. To může při hodně špatné práci vývojáře vést až k pádu aplikace. 

Je dobré si uvědomit, že testování hraničních hodnot se nevztahuje pouze na číselné vstupy. Nebo abych byl přesnější - ne všechny číselné vstupy, u kterých mají smysl testy hraničních hodnot, mají takto jasnou podobu. Hraniční hodnoty se testují i u vstupů textových. Zde je toto testování použito například při zadané minimální a maximální délce vkládaného řetězce. Typicky při zadávání hesla, ale týká se prakticky všech textových vstupů s omezenou délkou řetězce.

Číselnou hodnotou, která nemusí být úplně zjevná, je i velikost vstupních souborů. Pokud například vstupní formulář umožňuje vložit soubor, ale velikost tohoto souboru je omezena např. na 2 MB, pak i zde by měly následovat testy této hraniční hodnoty se vstupními soubory s velikostí menší, rovnou a větší než je tato hranice.

Testování hraničních hodnot se samozřejmě využívá i u datumových položek (tedy datumu a času). Postup je zcela analogický. 

 

Nejbližší události


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