This flashcard is just one of a free flashcard set. See all flashcards!
37
Foliensatz 3.1
Bedingungsbasiertes Testen
Bedingungsüberdeckung
Bedingungsbasiertes Testen
Bedingungsüberdeckung
Einfache (oder atomare) Bedingungsüberdeckung ( C2-Überdeckung)
Idee:Zusammengesetzte Bedingungen nur einmal zu True und False auswerten ist nicht ausreichend.
( wie bsp. Zweigüberdeckung)
Teilbedingungen(atomare Prädikatterme) variieren.
Beispiel:
● if A>1 and (B=2 or C>1) and D then ... else …
●Entscheidungsprädikat: A>1 and (B=2 or C>1) and D
●Atomare Prädikatterme: A>1, B=2, C>1, D
Anderes Beispiel:
Vergleich der Zweigüberdeckung von if (a AND b AND c) {...} einer äquivalenten Konstruktion if a {if b {if c {...}}}
Einfache Bedingungsüberdeckung (C2-Test):
●Testdatenmenge T erfüllt C2-Überdeckung g.d.w. es:
−für jede Verzweigung im Programm mit zwei Ausgängen und
−für jeden Prädikatterm pdes zur Verzweigung gehörenden
Booleschen Ausdrucks
−zu jedem Wahrheitswert von p ein Testdatum t aus T gibt.
bei dessen Ausführung p diesen Wahrheitswert annimmt.
●Hinweis: Verzweigungen mit mehr als zwei Ausgängen in
äquivalentes Konstrukt mit zwei Ausgängen umformbar.
●Garantiert keine Zweigüberdeckung.
Testen beider Wahrheitswerte kompletter (zusammengesetzter) Boolescher Ausdrücke nicht garantiert.
Kann es einen C2-Testfall geben, der nicht alle Zweige testet ?
Zweig-/Bedingungsüberdeckung:
Testdatenmenge erfüllt Zweig-/ Bedingungsüberdeckung
gdw. sie C2-Überdeckung(atomare Bedingungsüberdeckung) und C1-Überdeckung(Zweigüberdeckung) erfüllt.
dadurch werden aber nicht unbedingt alle Zweigkombinationen überdeckt.
Mehrfachbedingungsüberdeckung (C3-Überdeckung)
Testdatenmenge erfüllt Mehrfachbedingungsüberdeckung g.d.w.
●für jede Verzweigung im Programm mit zwei Ausgängen und
●für zur Verzweigung gehörenden Booleschen Ausdruck
●jede mögliche Kombination der Wahrheitswerte atomarer Prädikatterme ausgeführt wird.
Also: für 2 Ausdrücke 4 Testfälle, ,3 Ausdrücke 8 Testfälle ...
()
Kombinationen aller atomarer Prädikate, bei einigermaßen komplizierten Prädikaten nicht mehr handhabbar
Minimale Mehrfachbedingungsüberdeckung
alle bis auf erste testen:
X (A>1) Y (B=0) X and Y
false false false
false true false
true false false
true true true
alle bis auf letzte testen
X (A=2) Y (C>1) X or Y
false false false
false true true
true false true
true true true
Testdatenmenge erfüllt Minimale Mehrfachbedingungsüberdeckung (C2(mM)-Überdeckung, =minimal bestimmende Mehrfachbedingungsüberdeckung ) g.d.w.:
●für jede Verzweigung im Programm mit zwei Ausgängen und
●für zur Verzweigung gehörenden Booleschen Ausdruck
●folgende Kombinationen der Wahrheitswerte der enthaltenen
atomaren Prädikatterme ausgeführt werden:
−Jede Kombination von Wahrheitswerten, für die Änderung des Wahrheitswertes eines Terms den gesamten Wahrheitswert ändert.
Man nimmt einfach ALLE Terme bei der die Änderung eines Prädikats eine Änderung des gesamten Ergebnisses zufolge hat.
Vgl. früheres Beispiel:
mit Testdaten
A=3 B=0 C=3
A=2 B=1 C=0
A=1 B=0 C=2
alle Zweige geprüft
Kompromiss zwischen C2 und C3
jedes Prädikat (egal ob atomar oder zusammengesetzt) zu True und False ausgewertet
weniger als kombinatorische Abdeckung
Idee:Zusammengesetzte Bedingungen nur einmal zu True und False auswerten ist nicht ausreichend.
( wie bsp. Zweigüberdeckung)
Teilbedingungen(atomare Prädikatterme) variieren.
Beispiel:
● if A>1 and (B=2 or C>1) and D then ... else …
●Entscheidungsprädikat: A>1 and (B=2 or C>1) and D
●Atomare Prädikatterme: A>1, B=2, C>1, D
Anderes Beispiel:
Vergleich der Zweigüberdeckung von if (a AND b AND c) {...} einer äquivalenten Konstruktion if a {if b {if c {...}}}
Einfache Bedingungsüberdeckung (C2-Test):
●Testdatenmenge T erfüllt C2-Überdeckung g.d.w. es:
−für jede Verzweigung im Programm mit zwei Ausgängen und
−für jeden Prädikatterm pdes zur Verzweigung gehörenden
Booleschen Ausdrucks
−zu jedem Wahrheitswert von p ein Testdatum t aus T gibt.
bei dessen Ausführung p diesen Wahrheitswert annimmt.
●Hinweis: Verzweigungen mit mehr als zwei Ausgängen in
äquivalentes Konstrukt mit zwei Ausgängen umformbar.
●Garantiert keine Zweigüberdeckung.
Testen beider Wahrheitswerte kompletter (zusammengesetzter) Boolescher Ausdrücke nicht garantiert.
Kann es einen C2-Testfall geben, der nicht alle Zweige testet ?
Zweig-/Bedingungsüberdeckung:
Testdatenmenge erfüllt Zweig-/ Bedingungsüberdeckung
gdw. sie C2-Überdeckung(atomare Bedingungsüberdeckung) und C1-Überdeckung(Zweigüberdeckung) erfüllt.
dadurch werden aber nicht unbedingt alle Zweigkombinationen überdeckt.
Mehrfachbedingungsüberdeckung (C3-Überdeckung)
Testdatenmenge erfüllt Mehrfachbedingungsüberdeckung g.d.w.
●für jede Verzweigung im Programm mit zwei Ausgängen und
●für zur Verzweigung gehörenden Booleschen Ausdruck
●jede mögliche Kombination der Wahrheitswerte atomarer Prädikatterme ausgeführt wird.
Also: für 2 Ausdrücke 4 Testfälle, ,3 Ausdrücke 8 Testfälle ...
()
Kombinationen aller atomarer Prädikate, bei einigermaßen komplizierten Prädikaten nicht mehr handhabbar
Minimale Mehrfachbedingungsüberdeckung
alle bis auf erste testen:
X (A>1) Y (B=0) X and Y
false false false
false true false
true false false
true true true
alle bis auf letzte testen
X (A=2) Y (C>1) X or Y
false false false
false true true
true false true
true true true
Testdatenmenge erfüllt Minimale Mehrfachbedingungsüberdeckung (C2(mM)-Überdeckung, =minimal bestimmende Mehrfachbedingungsüberdeckung ) g.d.w.:
●für jede Verzweigung im Programm mit zwei Ausgängen und
●für zur Verzweigung gehörenden Booleschen Ausdruck
●folgende Kombinationen der Wahrheitswerte der enthaltenen
atomaren Prädikatterme ausgeführt werden:
−Jede Kombination von Wahrheitswerten, für die Änderung des Wahrheitswertes eines Terms den gesamten Wahrheitswert ändert.
Man nimmt einfach ALLE Terme bei der die Änderung eines Prädikats eine Änderung des gesamten Ergebnisses zufolge hat.
Vgl. früheres Beispiel:
mit Testdaten
A=3 B=0 C=3
A=2 B=1 C=0
A=1 B=0 C=2
alle Zweige geprüft
Kompromiss zwischen C2 und C3
jedes Prädikat (egal ob atomar oder zusammengesetzt) zu True und False ausgewertet
weniger als kombinatorische Abdeckung
Tags: Bedingungsüberdeckung
Source:
Source:
Flashcard info:
Author: Annika
Main topic: Informatik
Topic: Softwarekonstruktion
School / Univ.: TU Dortmund
Published: 19.03.2014