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:
Parameter | 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 Natürlich sind wir auch auf Facebook zu finden: <br> <a href="https://www.facebook.com/tijhof.de" target="_blank" rel="noopener"><img class="alignleft wp-image-15850 size-full" src="https://tijhof.nl/wp-content/uploads/2024/03/facebookGmBh.png" alt="" width="250" height="50"></a>
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.