white-box test Unterschied Zweigüberdeckung, Bedingungsüberdeckung (software engineering)
-
Hallo, habe folgendes gefunden:
1)zweigüberdeckung: Bei den Tests der Zweigüberdeckung wird überprüft, ob jede Kante bzw. jeder Zweig in einem Programmteil mindestens einmal durchlaufen werden kann
2)Bedingungsüberdeckung: Jede Teilbedingung in einer Abfrage nimmt mindestens einmal den Wert true / false an.
wo ist eigentlich der Unterschied? jede Kante ist ja eigentlich auch eine Abzweigung der if-bedingung, so ist doch klar, dass z.B. bei einer Zweigüberdeckung auch Bedingungsüberdeckung komplett erfüllt ist..
-
Ich kenne die Begriffe auf Deutsch nicht, aber ich nehme an, dass folgendes gemeint ist:
if (foo) bar();
Wenn du diese Stelle jetzt in einem Unit-Test aufrufst, in dem
foo==true
ist, dann wird wohl "Zweigüberdeckung" gegeben sein. "Bedingungsüberdeckung" allerdings nicht, dafür müsstest du auch einen Test mitfoo==false
haben.Aber wie gesagt: Keine Ahnung wie die Terminologie auf Deutsch korrekt lautet; ist jetzt nur aus deinen Beschreibungen zusammengereimt.
-
Ich kenne vom ISTQB CTFL nur die Begriffe Entscheidungs- und Anweisungsüberdeckung, und dabei heisst es, dass 100% Entscheidungsüberdeckung 100% Anweisungsüberdeckung einschliesst, aber nicht umgekehrt.