Regresní testy před vydáním
Automatické ověření klíčových postupů při každé změně kódu.
TESTOVÁNÍ · VÝVOJOVÉ TÝMY
Vývojový tým vydává často a ruční testování nestíhá. Navrhujeme a stavíme automatizované testy podle rizik, ne podle počtu: nejdřív to, co se musí nikdy nerozbít. Testy zapojíme do průběžné integrace (CI), aby se spouštěly při každé změně, a postaráme se, aby byly stabilní a udržovatelné, protože nestabilní testy tým rychle přestane brát vážně.
Pro koho
Týmy s webovou nebo mobilní aplikací či API, které vydávají pravidelně a chtějí méně regresí.
Jak začít
Mapa rizik a výběr několika klíčových scénářů, které se automatizují jako první.
Výstup
Spuštěné testy v CI, přehled výsledků a dokumentace pro údržbu.
SITUACE
Automatizované testování se vyplatí tam, kde se testy opakují často a jejich výsledek lze jednoznačně vyhodnotit. Nevyplatí se automatizovat všechno. Testy, které se často mění nebo se spouštějí jednou za čas, stojí víc na údržbě, než ušetří. Proto začínáme otázkou, co by pro vás znamenala chyba na daném místě.
Druhým problémem bývá stabilita. Test, který občas náhodně selže, učí tým výsledky přehlížet, a pak dojde i na skutečnou chybu. Dobře navržené testy mají jasná data, předvídatelné prostředí a srozumitelnou zprávu o tom, co selhalo a proč.
PŘÍSTUP
Společně s vámi sestavíme mapu rizik: které funkce jsou pro byznys klíčové, kde se chyby objevovaly v minulosti a co se nejčastěji mění. Z toho vybereme malou sadu scénářů, které se automatizují jako první, a určíme úroveň testu (jednotkový, integrační, rozhraní nebo koncový scénář), která dává nejlepší poměr přínosu a údržby.
Testy zapojíme do CI tak, aby se spouštěly při změnách a výsledek byl vidět v nástrojích, které tým už používá. Řešíme testovací data, prostředí a stabilitu a dokumentujeme, jak testy rozšiřovat. Pokud testy už existují, nejdřív je zhodnotíme a opravíme to, co brání jejich využití.
ILUSTRATIVNÍ PŘÍKLAD
Tým vydává aplikaci jednou týdně a před vydáním ručně prochází několik hlavních postupů. Klíčové scénáře, například přihlášení a vytvoření objednávky, se automatizují a spouštějí při každé změně. Chyba se objeví během minut po změně, ne při ručním testování těsně před vydáním.
VÝSTUPY A VHODNOST
POSTUP
Určíme, co se musí nikdy nerozbít, a vybereme první scénáře.
Postavíme testy, zapojíme je do CI a ověříme jejich stabilitu.
Dokumentujeme postup údržby a předáme znalosti týmu.
TYPICKÁ ZADÁNÍ
Popisy níže jsou typy zadání, nikoli reference konkrétních klientů.
Automatické ověření klíčových postupů při každé změně kódu.
Kontrola, že rozhraní a napojení na jiné systémy fungují podle dohody.
Zhodnocení, oprava nebo vyřazení nestabilních a zbytečných testů.
Zkušební sady a kritéria pro kontrolu kvality odpovědí AI v aplikaci.
HRANICE A ROZHODNUTÍ
Automatizace testů nenahrazuje celé testování: průzkumné testování, použitelnost a nové funkce potřebují člověka. Hodnota roste s tím, jak často se testy spouštějí a jak stabilní jsou. Pokud je aplikace silně nestabilní nebo se zásadně mění, doporučíme začít menší sadou nebo nejprve stabilizovat základy.
ČASTÉ OTÁZKY
Scénáře, jejichž chyba by měla největší dopad a které se často opakují: přihlášení, objednávka, platba nebo jiné klíčové postupy. Konkrétní pořadí určíme podle rizik vašeho produktu.
Volíme podle technologie vaší aplikace a schopností týmu. Preferujeme nástroje, které tým dokáže dál udržovat, než ty, které jsou zrovna módní.
Nejdřív je zhodnotíme: které opravit, které přepsat a které vyřadit. Nestabilní test, kterému nikdo nevěří, je horší než žádný.
Ano, testy navrhujeme tak, aby běžely při změnách a výsledky byly vidět tam, kde tým pracuje. Konkrétní nástroj, například GitHub Actions nebo GitLab CI, ověříme při úvodní analýze.
Ano, ale jinak. Odpovědi jazykového modelu nejsou vždy stejné, takže místo přesné shody používáme zkušební sady a kritéria kvality. Postup přizpůsobíme vašemu případu.
Počet není měřítkem. Důležité je, aby klíčová rizika byla pokrytá stabilními testy, které tým udržuje. Rozsah doporučíme po analýze rizik.
DALŠÍ KROK
Popište situaci, kterou řešíte. Společně určíme vhodný rozsah a další krok.