- Bedingungsüberdeckungstest
-
Der Bedingungsüberdeckungstest (engl. Condition Coverage) gehört zu einer Gruppe von Überdeckungstests, die zum Testen von Software verwendet werden.
Das Problem der bisherigen Überdeckungstests (C1-Test, C2-Test) ist, dass zusammengesetzte, hierarchische Bedingungen nicht ausreichend getestet werden.
Inhaltsverzeichnis
C3a – Einfachbedingungsüberdeckungstest
Jede atomare Bedingung einer Bedingung muss einmal mit true und einmal mit false getestet werden. Beispiel:
boolean a,b; if(a || b) {...} Testfall 1 wäre a=false und b=false. Testfall 2 wäre a=true und b=true.
C3b – Mehrfachbedingungsüberdeckungstest
Dieser Test betrachtet alle atomaren Bedingungen einer Bedingung. Wenn n atomare Bedingungen in der Bedingung stehen, dann werden 2n Kombinationen gebildet. Das heißt für das obige Beispiel, dass 4 Testfälle gebildet werden.
C3c – minimaler Mehrfachbedingungsüberdeckungstest
Diese Version erstellt mehr Testfälle als C3a und weniger als C3b, indem jede Bedingung (atomar und zusammengestellt) zu true und zu false evaluiert wird. Die logische Struktur wird hierbei berücksichtigt und der C1-Test (Zweigüberdeckungstest) ist vollständig in diesem Test enthalten. Ein weiterer Punkt ist, dass der C3c-Test berechenbar ist.
Nachteil
- Unvollständige Auswertung einer Bedingung durch eine Programmiersprache mit sog. short circuit evaluation wie z. B. C/C++, Java, C#.
Beispiel:
if (a && b) {...} else { lese b aus } Wenn a false ist, dann ist die Belegung der Variable b egal. z. B. a=false und b=null, dann passiert ein Fehler im else-Zweig
Kategorie:- Testen (Software)
Wikimedia Foundation.