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

31. května 2022

Průzkumné nebo – li ad-hoc testování je v širších testingových kruzích často 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!

 

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 https://www.atlassian.com/continuous-delivery/software-testing/exploratory-testing a https://www.softwaretestinghelp.com/what-is-exploratory-testing/)

 

Exploratory testing má svá pravidla, postupy. Mnohdy je více efektivní než “”tradiční” způsob testování. Osobně doporučuji tento způsob testování 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 testování

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í

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.
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