Cílem automatizovaného testování není mít co nejvíc testů, ale mít jistotu, že důležité funkce fungují po každé změně. Špatně zvolená automatizace je drahá a nespolehlivá. Dobře zvolená se vyplatí brzy.

Začněte rizikem, ne počtem

Zeptejte se: co by nejvíc poškodilo zákazníka nebo firmu, kdyby přestalo fungovat? Přihlášení, objednávka, platba, klíčový formulář, ústřední integrace. Tyto cesty automatizujte jako první. Okrajové funkce, které se používají zřídka a jejich selhání nic nestojí, nechte na později nebo na ruční kontrolu.

Použijte správnou vrstvu testu

  • Testy API a integrací jsou rychlé a stabilní. Použijte je všude, kde stačí.
  • Testy komponent a jednotek ověřují logiku v malém a běží nejrychleji.
  • End-to-end testy v prohlížeči ověřují celou uživatelskou cestu. Jsou nejpomalejší a nejkřehčí, proto jich mějte málo a jen pro klíčové scénáře.

Klasická chyba je stavět téměř všechny testy jako end-to-end. Sada je pak pomalá, nestabilní a tým jí přestane věřit.

Stabilita je důležitější než pokrytí

Test, který občas selže bez příčiny, je horší než žádný test, protože učí tým ignorovat výsledky. Nestabilní test opravte nebo odstraňte. Dobře navržený test nepoužívá křehké selektory, nespoléhá na pevné čekání a má vlastní, předvídatelná testovací data.

Zapojte testy do vydávání

Testy mají smysl, jen když běží automaticky při změnách a výsledek je vidět tam, kde se rozhoduje o vydání. Tým musí vědět, kdo selhání vyhodnotí a jak rychle. Bez toho se výsledky hromadí a nikdo se jimi nezabývá.

Ruční testování nezmizí

Automatizace pokrývá opakovatelné scénáře. Průzkumné testování nových funkcí, posouzení použitelnosti a hledání neočekávaných chyb zůstává práce pro člověka. Dobrou automatizací se čas testerů uvolní právě pro tuto práci.

Údržba je součást nákladů

Testy se mění spolu s aplikací. Počítejte s tím od začátku: kdo je udržuje, kde jsou pravidla pro nové testy a jak se řeší selhání. Automatizace bez údržby po čase zastará a ztratí hodnotu.