Obsah

Testovací dluh

Testovací dluh (z anglického test debt) je forma technického dluhu, která vzniká, když tým:

Na rozdíl od kódu, který „funguje“, testovací dluh sníží důvěru v kvalitu systému, zpomaluje vývoj a zvyšuje riziko regresí (návratu již opravených chyb).

Původ pojmu

Pojem vychází z analogie s technickým dluhem (Ward Cunningham, 1992), ale konkrétně se zaměřuje na testovací strategii a pokrytí. Testovací dluh se často akumuluje v raných fázích projektu, kdy tým „zrychluje vývoj“ tím, že testy ignoruje – což se později vyplácí náklady na ladění, manuální testování a nestabilitu systému.

Typy testovacího dluhu

Typ dluhu Popis Příklad
Chybějící testy Neexistují testy pro kritické části kódu. Kód pro platbu v e-shopu nemá žádné jednotkové testy.
Povrchní testy Testy existují, ale pokrývají jen „happy path“, ne okrajové případy. Test ověřuje jen úspěšné přihlášení, ne špatné heslo.
Nespolehlivé testy (flaky tests) Testy občas selžou bez změny kódu. E2E test selže, pokud je server pomalý.
Nepřehledné testy Testy jsou špatně čitelné, bez jasných asercí. Test používá magická čísla a žádné komentáře.
Špatně umístěné testy E2E testy pro logiku, kterou by měly pokrýt jednotkové testy. Ověření výpočtu DPH probíhá přes UI místo jednotkového testu.
Manuální testovací scénáře bez automatizace Důležité scénáře se opakují ručně. Každé nasazení vyžaduje 2 hodiny manuálního testování košíku.

Důsledky testovacího dluhu

Jak testovací dluh měřit?

Přestože není možné ho přesně kvantifikovat jako finanční dluh, lze použít následující metriky:

⚠️ Varování: Vysoké pokrytí ≠ kvalitní testy! Může být 100 %, ale testovat jen „že kód běží“.

Jak se testovacímu dluhu vyhnout?

Jak testovací dluh splácet?

Testovací dluh vs. technický dluh

Aspekt Technický dluh Testovací dluh
——–—————-—————-
Zaměření Kvalita kódu, architektura Kvalita a přítomnost testů
Důsledek Těžší údržba kódu Nízká důvěra v chování systému
Měřitelnost Statická analýza (SonarQube) Coverage, počet testů, flakiness
Splácení Refaktoring, přepis Psaní testů, zlepšování testovací strategie
💡 Testovací dluh je často součástí technického dluhu, ale vyžaduje specifický přístup.

Související pojmy

Externí odkazy

Viz také