Opravit testovací sadu, nebo ji postavit znovu?
Když testovací sada často selhává a tým jí nerozumí, úplný přepis může působit jako nejjednodušší řešení. Ve skutečnosti může zahodit platné scénáře i znalost produktu. Stejně tak ale nedává smysl opravovat základ postavený na nepodporovaných závislostech nebo testující procesy, které už neexistují.
Proč rozhodnutí „všechno, nebo nic“ selhává
V jedné sadě bývají vedle sebe kvalitní kritické scénáře, duplicitní kontroly, křehká infrastruktura i zastaralé testy. Jediné rozhodnutí pro celý repozitář proto často vede ke zbytečnému přepisu nebo nekonečným opravám.
Testy navíc zachycují zkušenosti týmu: hraniční případy, oprávnění a kombinace, u kterých už v minulosti vznikl problém. Při přepisu se tyto znalosti nemusí automaticky přenést, zejména pokud původní autor už není dostupný.
Čtyři možná rozhodnutí
Opravit
Oprava je vhodná, když scénář stále přináší hodnotu, nástroj je udržovaný a problém má lokální příčinu. Může jít o selektor, čekání, testovací data nebo konfiguraci prostředí. Po opravě musí stejné měření potvrdit, že nestabilita klesla.
Přepracovat
Test má správný cíl, ale jeho kroky jsou duplicitní nebo příliš provázané s rozhraním. Tehdy se vyplatí zachovat scénář a kontroly, ale upravit architekturu, přípravu dat či rozdělení odpovědností. Přepracování může probíhat postupně, takže funkční část sady zůstává k dispozici.
Portovat
Portace dává smysl, když nástroj, jazyk nebo infrastruktura nemají v týmu udržitelnou budoucnost. Nejde o mechanický překlad řádků. Zachovají se platné scénáře a očekávání, zatímco technický základ vznikne znovu. Této možnosti se věnuje služba portace testů.
Vyřadit
Test lze odstranit, pokud ověřuje zrušenou funkci, přesně duplikuje jinou kontrolu nebo nemá srozumitelný a užitečný výsledek. Rozhodnutí má potvrdit člověk, který zná produkt, a důvod má zůstat dohledatelný.
Jak sadu posoudit
Nejprve ji spusťte ve známém, opakovatelně připraveném prostředí a změřte nestabilitu. Potom u každého scénáře posuďte:
- význam pro zákazníka nebo klíčový proces,
- platnost očekávaného výsledku,
- četnost a příčinu selhání,
- stav nástroje a závislostí,
- náročnost údržby a dovednosti dostupné v týmu,
- cenu opravy v porovnání s portací.
Výsledkem nemusí být jedna odpověď. Plán může kombinovat více kategorií: část kritických testů se opraví nebo portuje, architektura se postupně přepracuje a zastaralé kontroly se vyřadí.
Na co si dát pozor
Nový framework sám neodstraní nevhodné scénáře, sdílená data ani chybějící vlastnictví. Pokud se při portaci zkopírují stejné návrhové chyby, nová sada bude mít po čase stejné problémy. Před rozhodnutím proto potřebujete znát příčinu, ne pouze počet selhání.
Co tím získáte
- Zachováte platné scénáře a znalosti, které mají pro produkt hodnotu.
- Náklady směřují na opravy s jasným přínosem, ne na plošný přepis.
- Rizikový technický základ lze nahrazovat postupně.
- Tým dostane srozumitelný plán, co se bude s každou částí sady dít.
Další krok
Vyberte reprezentativní část sady a u každého testu označte jeho význam, stav a nejčastější důvod selhání. Pokud chcete nezávislé posouzení, ozvěte se nám. Připravíme rozhodovací přehled „opravit, přepracovat, portovat nebo vyřadit“ i pořadí dalších kroků.