Oprava testovací sady

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ý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

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ů.

Související témata

Mohlo by vás také zajímat

Spolehlivé výsledky jsou důležitější než počet testů

Změříme nestabilitu, prověříme pravděpodobné příčiny náhodných selhání a sadu stabilizujeme v dohodnutém rozsahu.