Černá vs. bílá skříňka
Hodnocení uživatelů: / 0
NejhoršíNejlepší 

Black box a White box jsou známé pojmy nejen z oblasti testování. Ale nás samozřejmě zajímá právě pohled testerů.

Pokud má tester otestovat nějakou aplikaci, je podstatné, jakými informacemi o dané aplikaci disponuje. V zásadě se dá úroveň dodaných informací rozdělit na dvě skupiny a ty můžeme označit právě pojmy černá a bílá skříňka.

Jako černou skříňku (black box) označujeme stav, kdy informace dostupné testerovi spočívají ve znalosti vstupů do aplikace a znalosti očekávaných výstupů. Tester nezná vnitřní logiku aplikace a jeho pohled je z velké části uživatelský. Testování se v tomto případě nejčastěji opírá o uživatelské požadavky, obvykle zpracované do určité formy business analýzy. Smyslem testů je ověřit, že očekávané chování (definované právě vstupy a výstupy) odpovídá chování skutečnému.  

Bílá skříňka (white box) znamená, že tester má přístup ke všem informacím včetně zdrojového kódu. Testování v tomto případě z větší části spočívá na testování právě samotného zdrojového kódu. To může být až na úrovni čisté revize kódu bez toho, že by aplikace byla spuštěna. Znalost vnitřní logiky aplikace dává testerovi možnost otestovat i situace, které nejsou z vnějšího pohledu patrné. Jinka řečeno mnohem lépe se pokrývá testy podmínkový strom, který jako tester vidím v konkrétní podobě než když mám o něm jen nejasnou představu danou definovanými výstupy.

Který přístup je vlastně lepší? Jako autor této otázky musím říct, že je trochu hloupá. Každý tento přístup má svoje. Black box se jeví jako častější (ještě si to upřesníme) a vlastně i jednodušší. Od testerů nevyžaduje znalost programovacího jazyka ani algoritmizace. Pokud testovací dokumentaci připraví test analytik se zkušenostmi a připraví ji dostatečně kvalitně, pak samotné provádění testů může být svěřeno i juniorským testerům. Samozřejmě pokud to forma aplikace umožňuje. Ideální je tento přístup u aplikací s GUI, přes které se testy provádí. Každopádně je tu cesta k úspoře zdrojů.

White Box je komplexnější metoda, která dokáže nejen odhalit chyby v podobě nefunkčnosti nebo špatné funkce, ale může pomoci i s optimalizací (byť funkčního) kódu. Vyžaduje to ovšem testera s hlubší znalostí programování. Je zřejmé, že tento způsob testování je náročný na kvalifikaci testera, který zde má spíše blíž k vývojářům (a často to také vývojář je). Uplatnění tento přístup nachází u agilních metod.

Zdá se, že v praxi je častější black box přístup. Ale pokud se na věc podíváme reálně, pak musíme konstatovat, že jde spíše o grey box. Šedou skříňku můžeme definovat tak, že tester má kromě znalosti vstupů a výstupů (a tedy očekávaného chování) i základní znalost vnitřních procesů v aplikaci. Tato situace je (aspoň z mých zkušeností) vůbec nejčastější.  I když je oficiálním podkladem pro testování pouze business analýza, tester obvykle získává další informace ze strany vývojářů a díky tomu si může utvořit základní představu u vnitřním fungování aplikace. Tyto informace nejsou tak hluboké, aby se dalo mluvit o bílé skříňce, ale přesto jsou a tím se tester dostává nad rámec skříňky černé. 

 

 

Nejbližší události


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