Zum Inhalt springen

Testabdeckung (Code Coverage)

oder auch Code Coverage

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 03.11.2026

Testabdeckung (Code Coverage) ist der Anteil des Codes, der bei einem Testlauf tatsächlich ausgeführt wird. Gemessen wird in Zeilen, in Verzweigungen oder in Methoden, und das Ergebnis steht als Prozentzahl im Bericht.

Testabdeckung (Code Coverage)

Der Anteil des Codes, der bei einem Testlauf tatsächlich ausgeführt wird.
Beispiel: „Die Testabdeckung lag bei 46 Prozent, und die ungetesteten Stellen waren genau die wichtigen.“

Englisch Code Coverage. Gemessen wird mit einer Erweiterung der Sprache, in PHP mit Xdebug oder PCOV; der Lauf dauert damit deutlich länger als ohne.

Anwendungsfall: Die Zahl taugt zum Finden ungeprüfter Stellen. Als Ziel taugt sie nicht, weil sich jede Quote mit Tests ohne Behauptungen erreichen lässt.

Was die Testabdeckung sagt

Welche Zeilen bei den Tests mitgelaufen sind. Der Bericht färbt den Code ein, und die roten Stellen sind die, über die bei einer Änderung niemand Bescheid bekommt.

Besonders brauchbar ist der Blick auf einzelne Dateien statt auf die Gesamtzahl. Eine Klasse mit der Preislogik und null Abdeckung ist eine Nachricht; 46 Prozent über das ganze Projekt sind keine.

Was die Testabdeckung nicht sagt

Ob die Tests etwas prüfen. Eine Zeile gilt als abgedeckt, sobald sie ausgeführt wurde, auch wenn der Test anschließend nichts behauptet; hundert Prozent lassen sich damit erreichen, ohne einen Fehler zu finden.

Ebenso wenig sagt sie, ob die Fälle stimmen. Eine Funktion mit drei Verzweigungen kann in einer Zeilenmessung voll abgedeckt sein, obwohl zwei Wege nie geprüft wurden.

Welcher Wert sinnvoll ist

Keiner als Pflicht. Brauchbar ist die Regel, dass die Abdeckung nicht sinken darf: Jede neue Logik bringt ihre Tests mit, und die Pipeline meldet, wenn eine Änderung die Quote drückt.

Wo eine Zahl gebraucht wird, lohnt sie sich für den Kern und nicht für das Ganze. Fünfzig Prozent im Projekt mit neunzig in der Geschäftslogik sind besser als achtzig überall verteilt.

Siehe auch:

Unit Testing

Das Prüfen einzelner Funktionen für sich, ohne Datenbank und ohne Netz.

#Deployment & Versionierung

Integrationstest

Ein Test, der mehrere Teile im Zusammenspiel prüft, meist samt Datenbank.

#Deployment & Versionierung

Automatisierter Test in der Pipeline

Ein Test, der bei jeder Änderung selbsttätig läuft und das Ausrollen anhalten kann.

#Deployment & Versionierung

Continuous Integration (CI)

Die Praxis, Änderungen mehrmals täglich zusammenzuführen und dabei prüfen zu lassen.

#Deployment & Versionierung

Regressionstest

Ein Test, der sicherstellt, dass ein behobener Fehler nicht zurückkommt.

#Deployment & Versionierung

Pipeline-Stage

Ein Abschnitt in einer Pipeline, der erst beginnt, wenn der vorige bestanden ist.

#Deployment & Versionierung