Opublikowano We wpisie o pokryciu kodu (Code Coverage) napisałem: Należy pamiętać, że to są narzędzia dla programisty Co przez to rozumiem? Code Coverage nie może być używany przez kierownictwo/zarząd/management/etc – a już pod żadnym pozorem nie może być związany finansowo z wypłatą programisty. Dlaczego? Przyciśnięty programista może bardzo łatwo wygenerować dowolne pokrycie kodu i to przy dosyć małej ilości pracy. Pisząc odpowiednią ilość testów jednostkowych bez asercji można uzyskać 100% pokryci...
Opublikowano Co to jest CodeCoverage? Jest to pokrycie kolejnych linii kodu testami jednostkowymi. Metryka ta pokazuje ile procent linijek kodu ma przynajmniej jeden test jednostkowy, który ją wykonuje. Sprawa wydaje się prosta, tyle tylko, że w świecie .neta kod kompiluje się do… no właśnie do kodu pośredniego. Dopiero ten kod pośredni jest kompilowany w razie potrzeby do kodu maszynowego. Co więcej o ile nie wprowadzamy zmian do kodu źródłowego, to źródła się nie zmieniają ale już kod kompilowany może...
Mityczne 100% pokrycia W środowisku deweloperskim wciąż żywy jest mit 100% pokrycia kodu testami jednostkowymi. Co gorsza, mit ten ma się równie dobrze (a może nawet lepiej?) wśród decydentów (kierowników, dyrektorów itp.). Celem poniższej notki jest pokazanie, jak bardzo naiwne jest podejście "100% pokrycia". Popatrzmy na następujący trywialny kod: