Die Codeabdeckung, wie sie üblicherweise definiert wird, ist eine Art von Testabdeckung. Die Codeabdeckung bezieht sich darauf, wie bestimmte Teile des Codes (Zeilen, Anweisungen, Verzweigungen) bei der Ausführung eines bestimmten Satzes von automatisierten Prüfungen ausgeführt werden.

 

Michael Bolton erklärt die Testabdeckung so:

Der Erfassungsgrad von X gibt an, wie gründlich wir das Produkt in Bezug auf ein bestimmtes Modell von X untersucht haben.

Und er vervollständigt:

Die Testabdeckung lässt sich ebenso wie die Qualität nicht sehr gut quantitativ messen, es sei denn, es handelt sich um sehr enge und spezifische Bedingungen.

Ihr könnt über die verschiedenen Arten der Abdeckung in Bezug auf jedes Element eures Systems nachdenken. Das heuristische Teststrategiemodell zeigt eine Liste möglicher Elemente, die ihr euch ansehen solltet:

enter image description here

 

(Ihr könnt die obige Mindmap hier herunterladen)

Ihr könnt z. B. an die Abdeckung in Bezug auf die Arten von Benutzern denken, ihr könnt an Zeitpunkte und Unterbrechungen denken, an Gleichzeitigkeit usw.

enter image description here

Code-Abdeckung

  • Zeigt den Grad des Codes, der durch die Testfälle sowohl durch manuelles Testen als auch durch Computerisierungstests mit Selenium oder einer anderen Testmechanisierungsstruktur abgesichert ist. Wenn euer Quellcode beispielsweise einen einfachen if…else-Kreis hat, wäre die Codeabdeckung 100 %, wenn euer Testcode beide Situationen abdecken würde, z. B. in the event that und else.
  • Die Codeabdeckung wird durchgeführt, um zu überprüfen, in welchem Umfang der Code ausgeführt wurde. Codeabdeckungstools verwenden statische Instrumentierung, bei der Anweisungen zur Überwachung der Codeausführung an den erforderlichen Stellen in den Code eingefügt werden. Das Hinzufügen von Instrumentierungscode führt zu einer längeren Ausführungszeit und einer größeren Codelänge. Dieser Anstieg ist jedoch mehr als gerechtfertigt, wenn man bedenkt, welche Informationen der Tester durch den zusätzlichen Code erhält. Code-Coverage-Skripte erstellen einen Bericht, der detailliert aufzeigt, wie viel des Anwendungscodes ausgeführt wurde. Dies ist eine White-Box-Testtechnik.

Testabdeckung

  • Beinhaltet das Testen der Highlights, die als Teil der Funktionsvoraussetzungen, der Programmieranforderungen und anderer erforderlicher Archive aktualisiert wurden. Zum Beispiel, für den Fall, dass ihr programmübergreifende Tests eurer Webanwendung durchführen müsst, um zu garantieren, dass eure Anwendung von verschiedenen Programmen aus bewundernswert funktioniert oder nicht? Eure Testabdeckung würde sich nach der Anzahl der Programme + Betriebssysteme richten, für die ihr die Programmähnlichkeit eurer Webanwendung geprüft habt. Nachdem wir den wesentlichen Unterschied zwischen Code Coverage und Test Coverage verstanden haben, wollen wir uns mit weiteren Feinheiten rund um Code Coverage und Test Coverage beschäftigen.
  • Im Gegensatz zur Codeabdeckung ist die Testabdeckung eine Blackbox-Testtechnik. Sie überwacht die Anzahl der durchgeführten Tests. Die Testfälle werden so geschrieben, dass eine maximale Abdeckung der in mehreren Dokumenten beschriebenen Anforderungen gewährleistet ist – FRS (Functional Requirements Specification), SRS (Software Requirements Specification), URS (User Requirement Specification) usw. Der Testabdeckungsbericht liefert Informationen über Teile der Software, in denen die Testabdeckung implementiert ist. Im Wesentlichen liefert er Informationen über die in einer Anwendung oder Website durchgeführten Tests.

 

Referenzen