Über dieses Tool
Drei verschiedene Zahlen heißen alle „Abdeckung“ (Coverage), und sie beantworten verschiedene Fragen. Die Anforderungsabdeckung fragt, ob jede Anforderung einen Test hat. Die Ausführungsabdeckung fragt, wie viel der geplanten Tests tatsächlich lief und bestanden hat. Die Codeabdeckung fragt, welcher Code während der automatisierten Tests ausgeführt wurde. Dieser Rechner behandelt alle drei und zeigt jeweils die Formel. Für die Codeabdeckung geben Sie die vier Prozentwerte aus Ihrem Istanbul-, Vitest-, Jest-, JaCoCo- oder coverage.py-Report und einen Schwellenwert ein: Er markiert, welche Metriken das Gate nicht bestehen, und weist auf Muster hin, etwa eine Branch-Coverage weit unter der Line-Coverage, was meist bedeutet, dass Fehlerpfade und else-Zweige ungetestet sind. Außerdem sagt er, was Abdeckung nicht aussagen kann.
So funktioniert es
- Wählen Sie den Rechner: Anforderungs-, Ausführungs- oder Codeabdeckung.
- Geben Sie die Anzahlen oder Prozentwerte ein; die Ergebnisse aktualisieren sich während der Eingabe.
- Legen Sie für die Codeabdeckung den Schwellenwert fest, den Ihre CI erzwingt, und lesen Sie die Befunde.
- Kopieren Sie die Zusammenfassung für einen Statusbericht.
FAQ zu Testabdeckungsrechner
Ist 100 % Codeabdeckung ein gutes Ziel?
Selten. Die letzten Prozent sind meist defensiver Code, der nur aufwendig erreichbar ist, und auch 100 % Abdeckung beweisen nicht, dass die Assertions aussagekräftig sind. Viele Teams setzen das Gate bei 70–90 % und prüfen ungedeckten Code stattdessen im Pull Request.
Warum ist die Branch-Coverage niedriger als die Line-Coverage?
Eine Zeile mit einer if-Anweisung gilt als abgedeckt, sobald sie einmal läuft, die Branch-Coverage braucht aber sowohl das true- als auch das false-Ergebnis. Eine große Lücke bedeutet, dass viele Bedingungen nur in eine Richtung getestet werden, oft nur der Happy Path.
Wie erkenne ich, ob meine Tests tatsächlich etwas prüfen?
Mutation Testing (etwa Stryker für JavaScript oder PIT für Java) verändert Ihren Code geringfügig und prüft, ob ein Test fehlschlägt. Überlebende Mutanten zeigen Code, der im Test zwar ausgeführt, aber nicht wirklich verifiziert wird.