Verzweigungs- und Pfadüberdeckung bei fehlender else-Klausel

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Verzweigungs- und Pfadüberdeckung bei fehlender else-Klausel
Hallo zusammen,

ich bin gerade beim Wiederholen für die Klausur und ich habe mich mit dem strukturellen Testen beschäftigt. Wisst ihr zufällig, ob bei der Verzweigungsüberdeckung der Fall für das “Nichtbetreten einer einfachen if-Klausel OHNE else-Fall” auch abgetestet werden muss?


if(a == 4 ) { System.out.println("A ist 4");} // Kein else-fall

if(a < 4) {
 if( b == 2) { ... print ... }
 else { ... print was anders ...}
}
KEIN Else-fall

Selbige Frage stelle ich mir auch bei der Pfadüberdeckung. Muss man da auch die fehlenden Else-Fälle berücksichtigen, sprich einmal in das if laufen und einmal nicht, obwohl kein else-Fall angegeben ist?

Vielen Dank für die Antwort!!!

froschigon


Ja, das musst du. Das wird klar, wenn du den Kontrollflussgraphen dazu zeichnest:

[if (a == 4)]----------------B------------- | | | A | v | [println("A ist 4")] | | | v | [if (a< 4)]<------------------------------- ... (und so weiter)

Bei der Verzweigungsüberdeckung musst du also einmal die Kante A und ein anderes Mal die Kante B ablaufen.
Bei der Pfadüberdeckung musst du jeden Pfad nach dem obigen Codeblock einmal mit A und ein anderes Mal mit B kombinieren.


Danke für die Antwort!