Exploratory testing není zběsilé bezmyšlenkovité klikání!

Průzkumné neboli ad-hoc testování je v širších testingových kruzích mnohdy chápáno jako nesmyslná testovací disciplína. Často se k ní přikláníme ve chvílích, kdy nezbývá čas na test analýzu nebo není testing metodicky nastaven. Z toho by mohlo plynout, že to není úplně systematické, možná i kvalitní testování. Opak je však pravdou! 

Testování učením - Učení testováním

Exploratory testing je jeden z přístupů k testování, kdy se souběžně tester učí, jak aplikace funguje, navrhuje vhodné testy a paralelně provádí jejich exekuci. Od klasického manuálního testování se tedy liší především tím, že nemáme dopředu napsány testovací skripty.

(viz Atlassian "Exploratory Testing" a "What Is Exploratory Testing In Software Testing (A Complete Guide)" ).

Exploratory testing má svá pravidla a postupy. Mnohdy je více efektivní než “”tradiční” způsob testování. Osobně doporučuji tento způsob běžně využívat jako doplňkovou metodu testování pro odhalení dalších chyb. Tento přístup nám umožňuje dívat se na aplikaci jinou optikou. Kde všude má tedy smysl uvažovat o zapojení Exploratory testingu?

  • Už nás nenapadají nové testy nebo stávající neodhalují nové chyby.
  • Rádi bychom více prozkoumali nalezenou chybu nebo nesrovnalost.
  • Chceme rychlou zpětnou vazbu na novou funkcionalitu.
  • Potřebujeme se rychle seznámit s produktem.
     

Hrubý přehled, kdy je vhodné použít Exploratory testing

Efektivita exploratory testingu je závislá na mnoha faktorech. Za ty nejdůležitější považujeme:

  • znalost produktu, oblasti, technologie nebo segmentu trhu,
  • zkušenost testera s test analýzou, risk managementem, systematičností, nástroji pro testování,
  • kvalita výstupů,
  • schopnost kritického myšlení.


Zadání, Hands-on nebo tým

Pokud chceme provádět průzkumné testování, máme na výběr minimálně ze dvou způsobů, jak jej zpracovat. Jedním z nich je, připravit zadání, systém a zadat reálnou exekuci testovacímu týmu. Druhá alternativa je tzv. hands-on. Obrovskou výhodou hands-on je, že můžeme přímo dle potřeby zasahovat do testování.

Dalším velmi efektivním způsobem je testovat ve dvojicích. Jeden říká, co se má stát a druhý provádí testování. V průběhu se zaznamenávají kroky, nejasnosti, myšlenky pro další kolo testování. Příkladem takové dvojice může být kombinace vlastníka produktu + tester, analytik + tester nebo koncový uživatel + tester. Zajímavé chyby lze odhalit například ve chvíli, kdy se role v těchto dvojicích budou měnit. Jinými slovy například tester bude říkat co testovat a uživatel akci provede a v dalším kole se prohodí. Během exploratory testingu se totiž velmi často využívají heuristické metody.


Klíčové pro úspěch exploratory testingu je nezapomínat postupovat systematicky.

K tomu nám může pomoci pár základních “pravidel”.

  • Vymezit si přesný čas na jedno testovací kolo.
  • Předem si stanovit cíl testování – například doplnit si větu
    “Má mise je otestovat <riziko, které chci pokrýt> pro tento <scope/depth/coverage>” .
  • Pozvat si správné lidi nebo mít správné znalosti vůči cílů testování.
  • Nebát se na krátkou dobu odchýlit od stanovených bodů testování.
  • V průběhu si poznamenávat myšlenky, nápady např. načíst si informace o algoritmu xy a více ho protestovat.
  • Měnit následující aktivity během testování na základě právě získaných informací.
  • Zaznamenávat si realizované kroky a nalezené chyby.

Pro lepší představu přikládáme jeden z možných test charterů, který Vám může pomoci snadněji pochopit a uchopit exploratory testing. 

Skvěle to vysvětluje náš kolega Daniel Škach. Záznam z jeho workshopu si můžete prohlédnout.

Zajímavé články o Exploratory testingu

Potřebujete poradit jaký typ testování zvolit nebo vymyslet vhodný testovací plán pro Vaší aplikaci? Rádi to s Vámi zkonzultujeme.

Filip Kadlec 
Head of Testing