Monkey business, Ad hoc testing, Free testing a zmatení pojmů
Hodnocení uživatelů: / 0
NejhoršíNejlepší 

{jcomments on}Dnes bych se tu chtěl věnovat znovu oblasti, kterou snad ani nelze označit za techniky testování. Tedy aspoň ne v tom duchu, jak jsem tu pojem techniky testování popsal. Ale jde o oblast poměrně zajímavou a také oblast, kde dochází k určitému matení pojmů.

 

Už jsem tu někde psal, že testování není jen prosté klikání do aplikace ve snaze najít nějakou chybu. Tak to jsem trochu lhal. Existují přístupy, které právě s náhodným klikáním v aplikaci počítají. Označujeme je jako Ad hoc testování, Monkey testování nebo třeba Free (tedy Volné) testování.

Obecně řečeno jde o testování, kdy tester nevychází z žádné dokumentace a není řízeno žádným konkrétním plánem. Tester víceméně naslepo zkouší procházet aplikací, podle své úvahy navozuje různé situace a přitom může nalézt chyby. To slovo "víceméně" odráží skutečnost, že čím více je tester zkušený a čím více aplikaci zná, tím méně je jeho počínání náhodné a tím se paradoxně může snižovat efektivita tohoto typu testů (to ale není pravidlo).

Jakkoli se někomu může zdát náhodné klikání do aplikace jako neefektivní nesmyl, pravdou je, že tento přístup má svá pozitiva, díky kterým nachází reálné uplatnění. Základním je rychlost. Proklikání aplikace bez snahy projít všechny možnosti není tak časově náročné jako kompletní projetí všech plánovaných testů. Náhodné testování může také odhalit chyby, které nemusí být běžně plánovanými testy zachyceny. Testy postavené na dokumentaci jsou často příliš svázané právě s pohledem analytika. Analýza přitom může obsahovat hluchá místa, která následně nejsou pokryta ani testy. Náhodný průchod aplikací může tato problémová místa odhalit.

Náhodné testování nachází svoje uplatnění buď na začátku testování ještě před spuštěním samotných testů. Mnohdy jde o Smoke testy, které mají ověřit, že aplikace je vhodná k testování. V této fázi mohou být zachyceny první závažné chyby, které by jinak vedly k nemožnosti provedení testů.

Náhodné testování je využíváno také na konci procesu testování. V okamžiku, kdy již proběhly plánované testy a stále zbývá čas, který ale není dostatečný k provedení dalšího kola testů, fungují náhodné testy jako jakási forma Regresních testů. 

Náhodné testy jsou také součástí tzv. Výzkumného testování. Jde o techniku testování, o které tu ještě bude v budoucnu řeč.

Tak a teď jak je to s těmi pojmy. Na základě mých zkušeností musím říct, že u nás se na mnoha projektech a v mnoha firmách používají pojmy jako monkey testování, free testování nebo ad hoc testování pro označování totožné věci, tedy náhodného testování v jakékoli podobě. Ovšem při zkoumání těchto pojmů jsem zjistil, že až tak úplně jednoduché to není. Především pojem Monkey testing může být vnímán i lehce odlišně. Narazil jsem totiž na materiály, které Monkey testing definují poměrně jasně. Konkrétně mluvím o těchto stránkách: http://sobianawaz.blogspot.com/2010/05/what-is-monkey-testing-and-its-types.htmlhttp://www.scribd.com/doc/23335862/Monkey-test-tools.

A protože mým cílem je tu nacházet pro sebe nové (netušené) obzory, podíváme se tedy blíže i na tento úhle pohledu na Monkey testování. To je zde definováno jako druh automatizovaného testování s již zmíněným náhodným prvkem. Tedy jinak řečeno, jde o náhodné testování, při kterém jsou využívány nástroje automatizovaného testování. Monkey testování vychází v teoretické rovině z myšlenky, kterou naleznete podrobně rozpracovanou zde - http://en.wikipedia.org/wiki/Infinite_monkey_theorem - a kterou můžeme stručně shrnout do věty "pokud bude opice dostatečně dlouho bušit do klávesnice psacího stroje, nakonec se jí podaří sepsat všechna díla Shakespeara".

Tato myšlenka monkey testování je vlastně hodně prostá. Pokud použijeme nástroj automatizované testování a necháme ho dostatečně dlouho náhodně klikat do aplikace, je tu pravděpodobnost, že budou nalezeny chyby. "Opice", která test provádí může být navíc hloupá nebo chytrá a to v závislosti co o testované aplikaci ví. 

Rád bych tu ale řekl, že toto pojetí monkey testování má výrazně blíže k nefunkčním testům než k testování funkčnosti a chyby, které v rámci testování pomoci "opice" budou nalezeny budou s velkou pravděpodobností mít podobu výkonnostních problémů.

 

Nejbližší události


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