Kapitel 7. Messung der Deckungmit Coverage.py

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Wie sicher bist du bei einer Codeänderung, wenn deine Tests erfolgreich sind?

Wenn du Tests als eine Möglichkeit betrachtest, Fehler zu entdecken, kannst du ihre Sensitivität und Spezifität beschreiben.

Die Sensitivität deiner Testsuite ist die Wahrscheinlichkeit, dass ein Test fehlschlägt, wenn es einen Fehler im Code gibt. Wenn große Teile des Codes ungetestet sind oder die Tests nicht das erwartete Verhalten prüfen, ist die Sensitivität gering.

Die Spezifität deiner Tests ist die Wahrscheinlichkeit, dass sie erfolgreich sind, wenn der Code frei von Fehlern ist. Wenn deine Tests unzuverlässig sind (sie schlagen gelegentlich fehl) oderbrüchig (sie schlagen fehl, wenn du die Details der Implementierung änderst), dann hast du eine geringe Spezifität. Die Leute hören dann auf, fehlgeschlagenen Tests Aufmerksamkeit zu schenken. In diesem Kapitel geht es aber nicht um die Spezifität.

Es gibt eine gute Möglichkeit, die Empfindlichkeit deiner Tests zu erhöhen: Wenn du ein Verhalten hinzufügst oder änderst, schreibe einen fehlgeschlagenen Test vor den Code, der ihn erfolgreich macht. Wenn du das tust, erfasst deine Testsuite deine Erwartungen an den Code.

Eine weitere wirksame Strategie ist es, deine Software mit den verschiedenen Eingaben und Umgebungsbedingungen zu testen, die du in der realen Welt erwartest. ...

Get Hypermodern Python Tooling now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.