Was ist Testabdeckung?
Die Testabdeckung wird in Softwaretests als Metrik definiert, die den Umfang der von einem Testsatz 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 von bedingten Anweisungen verwendet wurden.
In einfachen Worten, es ist eine Technik, um sicherzustellen, dass Ihre Tests Ihren Code testen oder wie viel von Ihrem Code Sie durch Ausführen des Tests ausgeführt haben.
In diesem Tutorial lernen Sie
- Was ist Testabdeckung?
- Welche Testabdeckung macht?
- Wie kann eine Testabdeckung erreicht werden?
- Vorteile der Testabdeckung
- Was sind die Hauptunterschiede zwischen Codeabdeckung und Testabdeckung?
- Formel zur Berechnung der Testabdeckung
- Beispiele für die Testabdeckung
- Beispiel 1:
- Beispiel 2:
- Nachteile:
Welche Testabdeckung macht?
- Finden des Bereichs einer Anforderung, der nicht durch eine Reihe von Testfällen implementiert wurde
- Hilft beim Erstellen zusätzlicher Testfälle, um die Abdeckung zu erhöhen
- Ermittlung eines quantitativen Maßes für die Testabdeckung, bei dem es sich um eine indirekte Methode zur Qualitätsprüfung handelt
- Identifizieren bedeutungsloser Testfälle, die die Abdeckung nicht erhöhen
Wie kann eine Testabdeckung erreicht werden?
- Die Testabdeckung kann durch Ausführen der statischen Überprüfungstechniken wie Peer Reviews, Inspektionen und exemplarische Vorgehensweisen erfolgen
- Durch Umwandlung der Ad-hoc-Fehler in ausführbare Testfälle
- Auf Code- oder Unit-Test-Ebene kann die Testabdeckung durch Verwendung der Tools für die automatisierte Code-Abdeckung oder die Unit-Test-Abdeckung erreicht werden
- Die funktionale Testabdeckung kann mithilfe geeigneter Testmanagement-Tools durchgeführt werden
Vorteile der Testabdeckung
- Es kann die Qualität des Tests sicherstellen
- Es kann dabei helfen, festzustellen, welche Teile des Codes für die Veröffentlichung oder Korrektur tatsächlich berührt wurden
- Es kann hilfreich sein, die Pfade in Ihrer Anwendung zu ermitteln, die nicht getestet wurden
- Fehlerleckage verhindern
- Zeit, Umfang und Kosten können unter Kontrolle gehalten werden
- Fehlervermeidung in einem frühen Stadium des Projektlebenszyklus
- Es kann alle in der Anwendung verwendeten Entscheidungspunkte und Pfade bestimmen, wodurch Sie die Testabdeckung erhöhen können
- Lücken in Anforderungen, Testfällen und Fehlern auf Geräte- und Codeebene können auf einfache Weise gefunden werden
Was sind die Hauptunterschiede zwischen Codeabdeckung und Testabdeckung?
Codeabdeckung und Testabdeckung sind Messtechniken, mit denen Sie die Qualität Ihres Anwendungscodes beurteilen können.
Hier sind einige kritische Unterschiede zwischen den Kabinen dieser Abdeckungsmethoden:
Parameter | Code-Abdeckung | Testabdeckung |
Definition | Code-Coverage-Begriff, der verwendet wird, wenn Anwendungscode ausgeführt wird, wenn eine Anwendung ausgeführt wird. | Testabdeckung bedeutet Gesamttestplan. |
Tor | Mithilfe von Kennzahlen zur Codeabdeckung kann das Team die automatisierten Tests überwachen. | Die Testabdeckung enthält Details zu dem Grad, bis zu dem die schriftliche Codierung einer Anwendung getestet wurde. |
Untertypen | Codeabdeckung unterteilt in Untertypen wie Anweisungsabdeckung, Bedingungsabdeckung, Zweigabdeckung, Toogle-Abdeckung, FSM-Abdeckung. | Kein Subtyp der Testabdeckungsmethode. |
Formel zur Berechnung der Testabdeckung
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 testen
Schritt 2) Die Anzahl der Codezeilen, die derzeit von allen Testfällen ausgeführt werden
Jetzt müssen Sie (X geteilt durch Y) multipliziert mit 100 finden. Das Ergebnis dieser Berechnung ist Ihre Testabdeckung in%.
Zum Beispiel:
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 die Testabdeckung
Beispiel 1:
Zum Beispiel, wenn "Messer" ein Gegenstand ist, den Sie testen möchten. Dann müssen Sie sich darauf konzentrieren, zu überprüfen, ob das Gemüse oder Obst genau geschnitten wird oder nicht. Es gibt jedoch noch andere Aspekte, nach denen der Benutzer bequem damit umgehen sollte.
Beispiel 2:
Zum Beispiel, wenn Sie die Editor-Anwendung überprüfen möchten. Dann ist es ein Muss, die wesentlichen Merkmale zu überprüfen. Sie müssen jedoch andere Aspekte abdecken, da die Editor-Anwendung erwartungsgemäß reagiert, während sie andere Anwendungen verwendet. Der Benutzer versteht die Verwendung der Anwendung und stürzt nicht ab, wenn der Benutzer versucht, etwas Ungewöhnliches zu tun.
Nachteile:
- Die meisten Aufgaben im Handbuch zur Testabdeckung, da keine zu automatisierenden Tools vorhanden sind. Daher ist es sehr aufwändig, die Anforderungen zu analysieren und Testfälle zu erstellen.
- Mit der Testabdeckung können Sie Funktionen zählen und dann anhand mehrerer Tests messen. Es ist jedoch immer Platz für Beurteilungsfehler.