Testování web aplikací

Jak připravit web na automatizované testy

Stejný uživatelský scénář může být v jedné aplikaci jednoduchý na automatizaci a ve druhé náročný. Rozdíl často nespočívá v nástroji, ale v tom, zda lze prvky spolehlivě najít, data připravit a celý proces bezpečně dokončit. Následující oblasti pomohou vývojovému i testovacímu týmu odhadnout, co se vyplatí upravit ještě před prvním testem.

V čem je problém: co testy nejčastěji komplikuje

Test se stává křehkým, když je navázaný na náhodnou CSS třídu nebo přesnou pozici prvku v HTML. Výsledek může ovlivnit také produkt, který mezitím někdo vyprodal, uživatel sdílený několika testy nebo externí služba, která právě odpovídá pomalu.

Další problém vzniká, když lze scénář projít pouze v produkci. Test potom nemůže bezpečně vytvořit objednávku, smazat data ani simulovat neúspěšnou platbu. Automatizace se zastaví před nejdůležitějším krokem nebo vytvoří riziko pro skutečné zákazníky.

Jak web připravit: čtyři důležité oblasti

1. Stabilní způsob nalezení prvku

Test potřebuje jednoznačně určit tlačítko, pole nebo zprávu na stránce. Přednost mají vlastnosti srozumitelné uživateli, například role tlačítka a jeho přístupný název. Podporují stabilitu testů a zároveň odhalují, zda je rozhraní správně popsané.

Pokud významový selektor nestačí, pomůže u důležitých prvků dohodnutý atribut, například data-testid. Neměl by všude nahrazovat kvalitní HTML, ale je užitečný tam, kde se text často mění nebo existuje více stejných prvků. Výběr selektorů podrobněji vysvětlujeme v článku o tom, proč testy selhávají náhodně.

2. Bezpečné testovací prostředí

Prostředí pro automatizaci má umožnit projít scénář až do konce bez zásahu do skutečných objednávek a zákaznických údajů. Nemusí být přesnou kopií produkce, ale jeho konfigurace, integrace a testovací omezení musejí být známé. Důležité je také to, aby ho bylo možné po běhu vrátit do předvídatelného stavu.

3. Ovladatelná testovací data

Spolehlivý test se nespoléhá na to, že „nějaký vhodný produkt“ nebo uživatel již existuje. Potřebná data si připraví přes API, ověřený skript nebo jinou bezpečnou cestu a používá je pouze pro sebe. Izolovaná data umožňují spouštět testy souběžně, aniž by si navzájem měnily stav.

4. Kontrolované externí ověření

SMS kódy, CAPTCHA, platební brána nebo e-mailová služba mohou automatizaci zablokovat. V testovacím prostředí je proto třeba připravit kontrolovaný způsob ověření: testovací kód, sandbox poskytovatele nebo simulaci odpovědi. Taková výjimka musí být oddělená od produkce, chráněná řízením přístupu a pravidelně kontrolovaná.

Na co si dát pozor

Ne každá aplikace potřebuje všechny úpravy najednou. Zavedení testovacích identifikátorů do celého webu nebo vytvoření dokonalé kopie produkce může být dražší než přínos prvních testů. Začněte jedním kritickým scénářem a odstraňte překážky, které se při něm projeví.

Co tím získáte

Další krok

Vyberte jeden důležitý scénář a zkuste odpovědět na čtyři otázky: jak test najde prvky, kde bezpečně poběží, jak si připraví data a jak zvládne externí ověření. Pokud chcete stav aplikace posoudit společně, ozvěte se nám. Dostanete konkrétní seznam úprav seřazený podle jejich přínosu.

Související témata

Mohlo by vás také zajímat

Chyby odhalíte dříve, než se dostanou k uživatelům

End-to-end testy klíčových scénářů mohou běžet automaticky v CI/CD, abyste chyby odhalili dříve, než se dostanou k zákazníkům.