Zum Inhalt springen

Bedingungsüberdeckungstest

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. Juli 2004 um 15:11 Uhr durch Stw (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Der Bedingungsüberdeckungstest gehört zu einer Gruppe von Überdeckungstests, die zum Testen von Software verwendet werden.

Das Problem der bisherigen Überdeckungstests (C1-Test, C2-Test) ist, das zusammengesetzte, hierarische Bedingungen nicht ausreichend getestet werden.

C3a - Einfachbedingungsüberdeckungstest

Jede Variable 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 Variablen in der Bedingung stehen, dann werden 2^n Kombinationen gebildet. D.h. das für das obrige Beispiel 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, das der C3c-Test berechnebar ist.

Problem bei C3c-Test: unvollständige Auswertung einer Bedingung durch die Programmiersprache.

Beispiel:

     if (a && b) then {...} 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