Pokrytie (coverage) je ten najľahšie merateľný signál kvality a zároveň ten najľahšie dezinterpretovateľný. Odpovedá na úzku otázku: keď sa spustí testovacia súprava (test suite), ktoré riadky a vetvy kódu sa vykonajú. Neodpovedá však na to, či sa počas ich behu skontrolovalo niečo zmysluplné.
Prečo je toto číslo v generovanom kóde zavádzajúce
Keď píše test človek, zvyčajne vychádza z očakávania: tento vstup by mal priniesť takýto výsledok, toto povolenie by malo byť zamietnuté. Keď sa kód a testy generujú spoločne v jednom kroku, očakávanie sa môže odvodiť priamo z implementácie namiesto z pôvodnej požiadavky. Test potom len opisuje, čo kód už aj tak robí, a to vrátane jeho chybných častí.
Výsledkom je test suite, ktorá prejde veľkú časť codebase, no potvrdí len minimum podstatných vecí. Asertácie (assertions) iba skontrolujú, či funkcia niečo vrátila, nie to, či vrátila správnu vec. Chybové vetvy sa zavolajú, ale ich správanie sa nikdy neoverí. Test coverage síce stúpa, no bezpečnosť, ktorú by mala indikovať, v skutočnosti neexistuje.
Čo audit kontroluje namiesto toho
Čítanie samotných testov (test suite) má vyššiu informačnú hodnotu ako sledovanie percent. Otázky sú jednoduché: ktoré asertácie by reálne zlyhali, ak by sa zmenilo správanie aplikácie, sú cesty spracúvajúce peniaze, práva a osobné údaje pokryté špecifickými testami, a prejdú testy aj po zámernom vložení chyby?
Posledná kontrola je tým najrýchlejším spôsobom, ako rozoznať skutočnú testovaciu súpravu od tej dekoratívnej. Zároveň ukazuje, ktoré časti produktu je bezpečné meniť. A to je praktickým výstupom kódu auditu: vedieť, kde sa môžete hýbať rýchlo a kde, naopak, nie.
Pokrytie ako odrazový mostík
Nízke pokrytie pri mladom produkte je bežné a zriedka predstavuje to najväčšie riziko. Nedôveryhodné pokrytie je však horšie ako žiadne, pretože tímy naň spoliehajú pri rozhodovaní. Realistickým cieľom nie je vyššie percento, ale malá sada testov, ktoré skutočne chránia funkčnosť, od ktorej závisí biznis, a úprimný pohľad na všetko ostatné. Rovnaká disciplína platí aj pre riziko závislostí (dependency risk), kde je zasiahnutá plocha takisto väčšia, než sa na prvý pohľad zdá. Práve toto je veľkou súčasťou toho, čo odlišuje obyčajné "vibe coding" od "agentic engineering".