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 mit foo==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.


Anmelden zum Antworten