Vibe coding

Warum Coverage-Metriken allein taeuschen koennen

Ein Projekt kann 85 Prozent Coverage haben und trotzdem massive blinde Flecken, wenn nur der Happy Path getestet wird.

Coverage ist eine Metrik. Keine Qualitaetsmessung.

Wo man bei niedriger Coverage anfaengt

Nicht bei zufaellig ausgewaehlten Dateien, sondern beim geschaeftskritischen Code zuerst: Zahlungslogik, Zugriffskontrollen, Berechnungen, Datentransformationen, dort richten Bugs den groessten Schaden an. Danach folgen haeufig geaenderte Dateien, denn Tests dort amortisieren sich schnell, weil sie bei jeder Aenderung anschlagen.

Mutation Testing als Qualitaetspruefung

Code Coverage sagt nur, dass Code ausgefuehrt wurde. Mutation Testing prueft, ob er auch tatsaechlich getestet wurde, indem kuenstliche Fehler in den Code eingefuegt werden und geprueft wird, ob Tests diese erkennen. Fuer PHP eignet sich Infection, fuer JavaScript Stryker.

Differenzierte Coverage-Ziele

Statt eines globalen Coverage-Ziels lohnen sich differenzierte Vorgaben: fuer Business-Logic ueber 80 Prozent, fuer Infrastruktur- und Framework-Code oft gar kein festes Ziel, und fuer kritische Flows eine vollstaendige Abdeckung durch Integrationstests.

Checkliste: Coverage-Report Teil des CI-Outputs, Business-Logic-Bereiche identifiziert und priorisiert, Tests fuer Fehlerpfade und Edge Cases vorhanden, Mutation Testing fuer kritische Module durchgefuehrt, Coverage-Ziele pro Bereich definiert.

Ein Beispiel aus der Praxis

Ein Zahlungsmodul hatte eine Testabdeckung von ueber neunzig Prozent, verursachte aber trotzdem regelmaessig Produktionsfehler. Eine Mutation-Testing-Analyse zeigte die Ursache: Die Tests riefen zwar die entsprechenden Funktionen auf, prueften aber kaum echte Assertions, sondern nur, dass keine Exception geworfen wurde. Nach der gezielten Ueberarbeitung mit echten Erwartungswerten sank der Mutation Score von vierzig auf ueber achtzig Prozent, und die Zahl der Produktionsfehler in diesem Modul ging in den folgenden Monaten spuerbar zurueck.

Test Coverage verbessern? markom.digital hilft beim strukturierten Aufbau von Test-Suites, von der ersten Prioritaet bis zum laufenden CI-Check.

Weitere Beiträge