Aus den anderen Antworten geht hervor, dass 100% Code-Abdeckung in Tests nicht 100% Code-Korrektheit bedeutet, oder sogar, dass alle Fehler, die durch Tests gefunden werden konnten, gefunden werden (egal, welche Fehler kein Test finden konnte).
Eine andere Möglichkeit, diese Frage zu beantworten, ist eine aus der Praxis:
In der realen Welt und auf Ihrem eigenen Computer gibt es viele Softwareteile, die mit einer Reihe von Tests entwickelt wurden, die eine hundertprozentige Abdeckung bieten und dennoch Fehler aufweisen, einschließlich Fehler, die durch bessere Tests identifiziert werden können.
Eine damit verbundene Frage lautet daher:
Was ist der Sinn von Code-Coverage-Tools?
Tools zur Codeabdeckung helfen dabei, Bereiche zu identifizieren, die nicht getestet wurden. Das kann in Ordnung sein (der Code ist nachweislich auch ohne Tests korrekt), es kann unmöglich sein, ihn aufzulösen (aus irgendeinem Grund kann ein Pfad nicht erreicht werden), oder es kann der Ort eines großen stinkenden Fehlers sein, entweder jetzt oder nach zukünftigen Änderungen.
In gewisser Hinsicht ist die Rechtschreibprüfung vergleichbar: Etwas kann die Rechtschreibprüfung bestehen und so falsch geschrieben werden, dass es mit einem Wort im Wörterbuch übereinstimmt. Oder es kann "scheitern", weil die richtigen Wörter nicht im Wörterbuch enthalten sind. Oder es kann vergehen und völliger Unsinn sein. Die Rechtschreibprüfung ist ein Tool, mit dem Sie Stellen identifizieren können, an denen Sie möglicherweise das Korrekturlesen verpasst haben. Ebenso wenig kann jedoch eine vollständige und korrekte Korrektur gewährleistet werden, sodass die Codeabdeckung keine vollständige und korrekte Prüfung gewährleisten kann.
Und natürlich ist der falsche Weg, die Rechtschreibprüfung zu verwenden, für jeden Vorschlag bekannt, den es vorschlägt, so dass das Ducking noch schlimmer wird, wenn das Mutterschaf ihm einen Kredit hinterlässt.
Bei der Codeabdeckung kann es verlockend sein, Fälle auszufüllen, damit die verbleibenden Pfade erreicht werden. Dies gilt insbesondere für nahezu perfekte 98%.
Dies ist das Äquivalent zu einer Rechtschreibprüfung, bei der nur die richtigen Wörter angezeigt werden. Das Ergebnis ist ein Durcheinander.
Wenn Sie sich jedoch überlegen, welche Tests die nicht abgedeckten Pfade wirklich benötigen, hat das Code-Coverage-Tool seine Aufgabe erfüllt. nicht, um Ihnen die Richtigkeit zu versprechen, sondern um auf einige der zu erledigenden Arbeiten hinzuweisen .