Kdy se vyplatí automatizovat testování – a kdy ne
Automatizace testů se prodává jako něco, co potřebuje každý. Nepotřebuje. Existují firmy, kterým by dnes přinesla pouze další náklady – a je poctivé to říct dříve, než zaplatí.
Kdy dává smysl
Jedna věc rozhoduje více než všechny ostatní: jak často testujete totéž.
Regresní testování ověřuje, zda změna nenarušila části produktu, které dříve fungovaly. Pokud tým před každým releasem opakovaně prochází stejné scénáře, objem ruční práce roste spolu s četností releasů. Automatizace může dávat smysl, když náklady a rizika této opakované kontroly překročí náklady na vytvoření a údržbu testů:
- Vydáváte releasy často. Jednou za dva týdny, každý týden nebo při každé změně. Vyšší četnost zvyšuje počet použití testu, a tím i jeho možný přínos.
- Regresní testování trvá několik dní. Pokud vaše sada zabere jednomu člověku několik dní klikání, tuto kapacitu potřebujete při každém opakování.
- Aplikace se bude dále rozvíjet. Čím déle budete testy opakovaně používat, tím větší šanci má investice na návratnost. U produktu, který bude brzy ukončen nebo zásadně přepsán, může být přínos nízký.
- Chyba v produkci má vysoký dopad. Platby, objednávky či přihlášení patří mezi oblasti, kde chyba může poškodit tržby nebo důvěru zákazníků.
- Releasy se odkládají kvůli testování. Pokud hotová funkce čeká na uvolnění testovací kapacity, automatizace vybraných opakovaných kontrol může tuto část procesu zkrátit.
Běžné problémy: kdy ještě neautomatizovat
A nyní situace, ve kterých se může vyplatit s automatizací počkat:
- Testujete zřídka. U sady, kterou projdete dvakrát ročně, bývá ruční ověření často levnější. Výjimkou může být scénář s mimořádně vysokým rizikem nebo náročnou ruční přípravou.
- Aplikace se právě přepisuje. Pokud se má rozhraní za tři měsíce celé změnit, zvažte odložení UI testů nebo kontrolu na stabilnější úrovni. Jinak může část vytvořených scénářů rychle ztratit hodnotu.
- Nemáte vhodné testovací prostředí. Kontroly vůči produkci potřebují bezpečný návrh a bez připravených dat bývají testy méně spolehlivé. Příprava prostředí a dat je samostatnou částí rozsahu, se kterou je třeba počítat.
- Hledáte jistotu, že nic neselže. Automatizovaný test ověří pouze očekávání, která jsou v něm navržena – u existující i nové funkce. Neznámá rizika a problémy mimo připravené scénáře pomáhá hledat průzkumné testování a lidský úsudek.
Jak to řešit: které scénáře automatizovat jako první
Pokud se rozhodnete pokračovat, nezačínejte pokrytím všeho. Nejprve vyberte menší skupinu scénářů s vysokou četností nebo obchodním dopadem:
Může jít o přihlášení a registraci, vložení do košíku a dokončení objednávky, platbu, vyhledávání či filtrování. Konkrétní priority však mají vycházet z používání vašeho produktu, dopadu chyby a možností přípravy testovacích dat.
Naopak u jednorázových kontrol, posuzování uživatelské zkušenosti a průzkumného testování zůstává důležitý lidský úsudek. Část vizuálních změn lze kontrolovat automatizovaně, jejich význam však obvykle musí posoudit člověk. Příliš široký rozsah může testovací sadu časem zahltit údržbou.
Co vám rozhodnutí podložené čísly přinese
Namísto pocitu si vše projděte bod po bodu – rozhoduje četnost releasů, velikost regrese, stabilita rozhraní a cena chyby. Vyvážený pohled na argumenty pro automatizaci i proti ní najdete v tématu výhody a nevýhody automatizace. A pokud si to budete chtít projít na vlastním případu, ozvěte se nám.
Porovnejte počáteční investici a průběžnou údržbu s časem, který dnes vynakládáte na opakované testování, a s dopadem chyb. Pokud návratnost nevychází přesvědčivě, začněte menším rozsahem kritických scénářů a výsledek po čase přehodnoťte.
Další krok
Napište nám, co dnes testujete ručně a jak často. Pomůžeme vám odhadnout návratnost, vybrat první scénáře a pojmenovat podmínky, které je třeba splnit. Pokud automatizace zatím nevychází, i to je užitečný výsledek. Nezávazná konzultace vám pomůže vybrat rozumný první krok.