Cieľom automatizovaného testovania nie je mať čo najviac testov, ale mať istotu, že dôležité funkcie fungujú po každej zmene. Zle zvolená automatizácia je drahá a nespoľahlivá. Dobre zvolená sa oplatí skoro.

Začnite rizikom, nie počtom

Opýtajte sa: čo by najviac poškodilo zákazníka alebo firmu, keby to prestalo fungovať? Prihlásenie, objednávka, platba, kľúčový formulár, ústredná integrácia. Tieto cesty automatizujte ako prvé. Okrajové funkcie, ktoré sa používajú zriedka a ich zlyhanie nič nestojí, nechajte na neskôr alebo na ručnú kontrolu.

Použite správnu vrstvu testu

  • Testy API a integrácií sú rýchle a stabilné. Použite ich všade, kde stačia.
  • Testy komponentov a jednotiek overujú logiku v malom a bežia najrýchlejšie.
  • End-to-end testy v prehliadači overujú celú používateľskú cestu. Sú najpomalšie a najkrehkejšie, preto ich majte málo a len pre kľúčové scenáre.

Klasická chyba je stavať takmer všetky testy ako end-to-end. Sada je potom pomalá, nestabilná a tím jej prestane veriť.

Stabilita je dôležitejšia než pokrytie

Test, ktorý občas zlyhá bez príčiny, je horší než žiadny test, pretože učí tím ignorovať výsledky. Nestabilný test opravte alebo odstráňte. Dobre navrhnutý test nepoužíva krehké selektory, nespolieha na pevné čakanie a má vlastné, predvídateľné testovacie dáta.

Zapojte testy do vydávania

Testy majú zmysel, len keď bežia automaticky pri zmenách a výsledok je vidieť tam, kde sa rozhoduje o vydaní. Tím musí vedieť, kto zlyhanie vyhodnotí a ako rýchlo. Bez toho sa výsledky hromadia a nikto sa nimi nezaoberá.

Ručné testovanie nezmizne

Automatizácia pokrýva opakovateľné scenáre. Prieskumné testovanie nových funkcií, posúdenie použiteľnosti a hľadanie neočakávaných chýb zostáva práca pre človeka. Dobrou automatizáciou sa čas testerov uvoľní práve pre túto prácu.

Údržba je súčasť nákladov

Testy sa menia spolu s aplikáciou. Počítajte s tým od začiatku: kto ich udržuje, kde sú pravidlá pre nové testy a ako sa riešia zlyhania. Automatizácia bez údržby po čase zastará a stratí hodnotu.