Appearance
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
| Stav | Počet |
|---|---|
| 🟢 OK | 2 |
| 🟠 Čá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žka | Stav |
|---|---|---|
| 1 | Pokrytí se měří napříč aplikacemi | 🟢 |
| 2 | Pokrytí je vynucováno (SonarCloud quality gate) | 🟢 |
| 3 | Spolehlivost a rovnoměrnost pokrytí | 🟠 |
📈 Pokrytí podle aplikace
| Aplikace | Coverage | Řá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í
| Priorita | Doporuč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.