Regresné testy pred vydaním
Automatické overenie kľúčových postupov pri každej zmene kódu.
TESTOVANIE · VÝVOJOVÉ TÍMY
Vývojový tím vydáva často a ručné testovanie nestíha. Navrhujeme a stavíme automatizované testy podľa rizík, nie podľa počtu: najprv to, čo sa nikdy nesmie pokaziť. Testy zapojíme do priebežnej integrácie (CI), aby sa spúšťali pri každej zmene, a postaráme sa, aby boli stabilné a udržiavateľné, pretože nestabilné testy tím rýchlo prestane brať vážne.
Pre koho
Tímy s webovou alebo mobilnou aplikáciou či API, ktoré vydávajú pravidelne a chcú menej regresií.
Ako začať
Mapa rizík a výber niekoľkých kľúčových scenárov, ktoré sa automatizujú ako prvé.
Výstup
Spustené testy v CI, prehľad výsledkov a dokumentácia na údržbu.
SITUÁCIA
Automatizované testovanie sa oplatí tam, kde sa testy opakujú často a ich výsledok možno jednoznačne vyhodnotiť. Neoplatí sa automatizovať všetko. Testy, ktoré sa často menia alebo sa spúšťajú raz za čas, stoja viac na údržbe, než ušetria. Preto začíname otázkou, čo by pre vás znamenala chyba na danom mieste.
Druhým problémom býva stabilita. Test, ktorý občas náhodne zlyhá, učí tím výsledky prehliadať, a potom príde aj na skutočnú chybu. Dobre navrhnuté testy majú jasné dáta, predvídateľné prostredie a zrozumiteľnú správu o tom, čo zlyhalo a prečo.
PRÍSTUP
Spoločne s vami zostavíme mapu rizík: ktoré funkcie sú pre biznis kľúčové, kde sa chyby objavovali v minulosti a čo sa najčastejšie mení. Z toho vyberieme malú sadu scenárov, ktoré sa automatizujú ako prvé, a určíme úroveň testu (jednotkový, integračný, rozhranie alebo koncový scenár), ktorá dáva najlepší pomer prínosu a údržby.
Testy zapojíme do CI tak, aby sa spúšťali pri zmenách a výsledok bol vidieť v nástrojoch, ktoré tím už používa. Riešime testovacie dáta, prostredia a stabilitu a dokumentujeme, ako testy rozširovať. Ak testy už existujú, najprv ich zhodnotíme a opravíme to, čo bráni ich využitiu.
ILUSTRATÍVNY PRÍKLAD
Tím vydáva aplikáciu raz týždenne a pred vydaním ručne prechádza niekoľko hlavných postupov. Kľúčové scenáre, napríklad prihlásenie a vytvorenie objednávky, sa automatizujú a spúšťajú pri každej zmene. Chyba sa objaví v priebehu minút po zmene, nie pri ručnom testovaní tesne pred vydaním.
VÝSTUPY A VHODNOSŤ
POSTUP
Určíme, čo sa nikdy nesmie pokaziť, a vyberieme prvé scenáre.
Postavíme testy, zapojíme ich do CI a overíme ich stabilitu.
Zdokumentujeme postup údržby a odovzdáme znalosti tímu.
TYPICKÉ ZADANIA
Popisy nižšie sú typy zadaní, nie referencie konkrétnych klientov.
Automatické overenie kľúčových postupov pri každej zmene kódu.
Kontrola, že rozhrania a napojenia na iné systémy fungujú podľa dohody.
Zhodnotenie, oprava alebo vyradenie nestabilných a zbytočných testov.
Skúšobné sady a kritériá na kontrolu kvality odpovedí AI v aplikácii.
HRANICE A ROZHODNUTIA
Automatizácia testov nenahrádza celé testovanie: prieskumné testovanie, použiteľnosť a nové funkcie potrebujú človeka. Hodnota rastie s tým, ako často sa testy spúšťajú a ako sú stabilné. Ak je aplikácia silne nestabilná alebo sa zásadne mení, odporučíme začať menšou sadou alebo najprv stabilizovať základy.
ČASTO KLADENÉ OTÁZKY
Scenáre, ktorých chyba by mala najväčší dopad a ktoré sa často opakujú: prihlásenie, objednávka, platba alebo iné kľúčové postupy. Konkrétne poradie určíme podľa rizík vášho produktu.
Volíme podľa technológie vašej aplikácie a schopností tímu. Uprednostňujeme nástroje, ktoré tím dokáže ďalej udržiavať, pred tými, ktoré sú práve módne.
Najprv ich zhodnotíme: ktoré opraviť, ktoré prepísať a ktoré vyradiť. Nestabilný test, ktorému nikto neverí, je horší než žiadny.
Áno, testy navrhujeme tak, aby bežali pri zmenách a výsledky boli vidieť tam, kde tím pracuje. Konkrétny nástroj, napríklad GitHub Actions alebo GitLab CI, overíme pri úvodnej analýze.
Áno, ale inak. Odpovede jazykového modelu nie sú vždy rovnaké, takže namiesto presnej zhody používame skúšobné sady a kritériá kvality. Postup prispôsobíme vášmu prípadu.
Počet nie je merítkom. Dôležité je, aby kľúčové riziká boli pokryté stabilnými testami, ktoré tím udržuje. Rozsah odporučíme po analýze rizík.
ĎALŠÍ KROK
Opíšte situáciu, ktorú riešite. Spoločne určíme vhodný rozsah a ďalší krok.