Testabdeckung beim Softwaretesten

Was ist Testabdeckung?

Die Testabdeckung ist im Softwaretest als eine Metrik definiert, die den Umfang der von einer Testreihe durchgefรผhrten Tests misst. Dazu gehรถrt das Sammeln von Informationen darรผber, welche Teile eines Programms beim Ausfรผhren der Testsuite ausgefรผhrt werden, um festzustellen, welche Zweige bedingter Anweisungen verwendet wurden.

Einfach ausgedrรผckt handelt es sich um eine Technik, mit der Sie sicherstellen kรถnnen, dass Ihre Tests Ihren Code testen bzw. wie viel von Ihrem Code Sie durch die Ausfรผhrung des Tests beansprucht haben.

Was bewirkt die Testabdeckung?

  • Ermitteln des Bereichs einer Anforderung, der nicht durch eine Reihe von Testfรคllen umgesetzt wird
  • Hilft bei der Erstellung zusรคtzlicher Testfรคlle, um die Abdeckung zu erhรถhen
  • Ermittlung eines quantitativen MaรŸes fรผr die Testabdeckung, eine indirekte Methode zur Qualitรคtsprรผfung
  • Identifizieren bedeutungsloser Testfรคlle, die die Abdeckung nicht erhรถhen

Wie kann eine Testabdeckung erreicht werden?

  • Die Testabdeckung kann durch die Anwendung statischer รœberprรผfungstechniken wie Peer-Reviews, Inspektionen und Komplettlรถsungen erreicht werden
  • Durch die Umwandlung der Ad-hoc-Fehler in ausfรผhrbare Testfรคlle
  • Auf Code- oder Unit-Test-Ebene kann die Testabdeckung durch den Einsatz der automatisierten Code-Coverage- oder Unit-Test-Coverage-Tools erreicht werden
  • Eine funktionale Testabdeckung kann mit Hilfe geeigneter Testmanagement-Tools erfolgen

Vorteile der Testabdeckung in der Softwareentwicklung

  • Es kann die Qualitรคt des Tests sicherstellen
  • Es kann dabei helfen, herauszufinden, welche Teile des Codes tatsรคchlich fรผr die Verรถffentlichung oder den Fix berรผhrt wurden
  • Es kann hilfreich sein, die Pfade in Ihrer Anwendung zu ermitteln, die nicht getestet wurden
  • Vorbeugen Defekt Leckage
  • Zeit, Umfang und Kosten kรถnnen unter Kontrolle gehalten werden
  • Fehlerprรคvention in einem frรผhen Stadium des Projektlebenszyklus
  • Es kann alle in der Anwendung verwendeten Entscheidungspunkte und Pfade ermitteln, wodurch Sie die Testabdeckung erhรถhen kรถnnen
  • Lรผcken in Anforderungen, Testfรคllen und Fehler auf Unit-Ebene und Code-Ebene kรถnnen auf einfache Weise gefunden werden

Was sind die Hauptunterschiede zwischen Code- und Testabdeckung?

Codeabdeckung und Testabdeckung sind Messtechniken, mit denen Sie die Qualitรคt Ihres Anwendungscodes beurteilen kรถnnen.

Hier sind einige entscheidende Unterschiede zwischen den Stรคnden dieser Abdeckungsmethoden:

KenngrรถรŸen Code-Abdeckung Testabdeckung
Definition Codeabdeckungsbegriff, der verwendet wird, wenn Anwendungscode ausgefรผhrt wird, wรคhrend eine Anwendung ausgefรผhrt wird. Unter Testabdeckung versteht man den gesamten Testplan.
Ziel Codeabdeckungsmetriken kรถnnen dem Team bei der รœberwachung seiner automatisierten Tests helfen. Die Test-Abdeckung gibt Aufschluss darรผber, in welchem โ€‹โ€‹AusmaรŸ der schriftliche Code einer Anwendung getestet wurde.
Untertypen Codeabdeckung unterteilt in Untertypen wie Anweisungsabdeckung, Bedingungsabdeckung, Zweigabdeckung, Toogle-Abdeckung, FSM-Abdeckung. Kein Untertyp der Testabdeckungsmethode.

Testabdeckungsformel

Um die Testabdeckung zu berechnen, mรผssen Sie die folgenden Schritte ausfรผhren:

Schritt 1) Die Gesamtzahl der Codezeilen in der Softwarequalitรคt, die Sie haben testing

Schritt 2) Die Anzahl der Codezeilen, die alle Testfรคlle derzeit ausfรผhren

Jetzt mรผssen Sie (X dividiert durch Y) multipliziert mit 100 ermitteln. Das Ergebnis dieser Berechnung ist Ihr Testabdeckungsprozentsatz.

Beispielsweise:

Wenn die Anzahl der Codezeilen in einer Systemkomponente 500 betrรคgt und die Anzahl der in allen vorhandenen Testfรคllen ausgefรผhrten Zeilen 50 betrรคgt, betrรคgt Ihre Testabdeckung:

(50 / 500) * 100 = 10%

Beispiele fรผr Testabdeckung

Beispiel 1:

Wenn beispielsweise โ€žMesserโ€œ ein Artikel ist, den Sie testen mรถchten. Dann mรผssen Sie sich darauf konzentrieren, zu prรผfen, ob das Gemรผse oder Obst genau geschnitten wird oder nicht. Es gibt jedoch noch andere Aspekte, auf die man achten muss, damit der Benutzer bequem damit umgehen kann.

Beispiel 2:

Zum Beispiel, wenn Sie die Notepad-Anwendung รผberprรผfen mรถchten. Dann ist die รœberprรผfung der wesentlichen Funktionen ein Muss. Sie mรผssen jedoch andere Aspekte abdecken, da die Notepad-Anwendung bei der Verwendung anderer Anwendungen wie erwartet reagiert, der Benutzer die Verwendung der Anwendung versteht und nicht abstรผrzt, wenn der Benutzer versucht, etwas Ungewรถhnliches zu tun usw.

Nachteile der Testabdeckung:

  • Die meisten Aufgaben in der Testabdeckung erfolgen manuell, da es keine Tools zur Automatisierung gibt. Daher ist die Analyse der Anforderungen und die Erstellung von Testfรคllen mit groรŸem Aufwand verbunden.
  • Mit der Testabdeckung kรถnnen Sie Features zรคhlen und diese dann anhand mehrerer Tests messen. Es gibt jedoch immer Raum fรผr Beurteilungsfehler.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: