Skip to content
PublikovánoAktualizováno: 21. července 2026 v 00:00 Vytvořeno v TechFides

Pokrytí testy (coverage)

Pokrytí kódu testy — kolik kódu je ověřeno automatizovanými testy, jak se pokrytí měří a jak se vynucuje. Data pocházejí z reálného SonarCloud dashboardu projektu tfpl.

📊 Skóre

StavPočet
🟢 OK2
🟠 Částečně1

Celkově: pokrytí se měří napříč všemi aplikacemi a vynucuje se přes SonarCloud quality gate (na novém kódu), ne přes práh v repozitáři — to je legitimní a v praxi robustnější přístup. Reálné pokrytí je nadprůměrné (většina služeb 77–95 %). Slabinou je spolehlivost reportingu (u jedné služby aktuálně rozbité CI zkresluje data) a skupina služeb pod cílovou hranicí.

🔍 Co jsme hodnotili

#PoložkaStav
1Pokrytí se měří napříč aplikacemi🟢
2Pokrytí je vynucováno (SonarCloud quality gate)🟢
3Spolehlivost a rovnoměrnost pokrytí🟠

📈 Pokrytí podle aplikace

AplikaceCoverageŘádky
tf-erp-server🟢 95,2 %29k
tf-hub-server🟢 92,3 %37k
tf-ass🟢 88,7 %5k
tf-adm🟢 ~87 % *8k
tf-ios🟢 84,8 %5k
tf-hub-client🟢 81,3 %35k
tf-erp-client🟢 77,7 %54k
tf-ula🟠 72,6 %2k
tf-fis🟠 70,0 %3k
tf-fns🟠 68,2 %7k
tf-tis🟠 66,9 %13k
tf-nos🟠 63,9 %3k
tf-agw🟠 61,1 %18k

* tf-adm: SonarCloud aktuálně vykazuje 18,2 %, ale jde o artefakt rozbitého CI (coverage report se nenahrává správně) — reálné pokrytí je ~87 %. Uvádíme reálnou hodnotu; zkreslený údaj řešíme jako nález níže.

📌 Klíčové nálezy

🟢 Pokrytí se měří a vynucuje přes SonarCloud

Pokrytí se sbírá při testech (jest --coverage → lcov/cobertura) a nahrává do SonarCloud, kde ho hlídá quality gate (typicky práh na novém kódu). V repozitáři proto záměrně není coverageThreshold na úrovni jestu — vynucení je centralizované v Sonar gate, což je konzistentní napříč službami a nezávislé na lokální konfiguraci.

🟢 Nadprůměrné reálné pokrytí

Reálné pokrytí je na informační systém této velikosti nadprůměr — většina služeb v pásmu 77–95 %, klíčové backendy velmi vysoko (tf-erp-server 95,2 %, tf-hub-server 92,3 %). Pokrytí mají i hlavní frontendy (tf-hub-client 81,3 %, tf-erp-client 77,7 %, tf-adm ~87 %) — z velké části z E2E testů.

🟠 Rozbité CI zkresluje coverage u tf-adm

SonarCloud u tf-adm ukazuje jen 18,2 %, i když reálné pokrytí je ~87 % — coverage report se kvůli rozbitému CI nenahrává správně. Dopad je dvojí: (1) dashboard dává zavádějící obraz a (2) quality gate na tf-adm je fakticky nespolehlivý, dokud se CI neopraví. Je to nález v oblasti CI/reportingu, ne skutečně nízké pokrytí.

🟠 Skupina služeb pod cílovou hranicí

Několik služeb je pod obvyklou cílovou hranicí (~75–80 %): skupina 63–73 % (tf-nos, tf-tis, tf-fns, tf-fis, tf-ula) a zejména tf-agw na 61,1 % — API gateway je centrální komponenta, na jejíž kvalitě závisí všechny služby, takže nižší pokrytí zvyšuje dopad případné chyby.

✅ Doporučení

PrioritaDoporučení
VysokáOpravit rozbité CI u tf-adm, aby se coverage nahrávala správně a quality gate byl spolehlivý.
VysokáZvýšit pokrytí tf-agw (API gateway) vzhledem k jeho centrální roli.
StředníPostupně dotáhnout služby pod ~70 % k cílové hranici; zvážit sjednocení cílového prahu v Sonar gate napříč službami.

Souvislost: nástroje a strategie kvality (SonarCloud, lint) jsou popsané v Metriky kvality kódu; rozsah testů z pohledu vývoje ve Vývoji.