ich glaube, ich habe Simple Condition Coverage nicht verstanden. So habe ich bisher gedacht, dass es funktioniert: Jede Bool'sche Variable in der Condition des if-Statements hat einmal mit true und eimal mit false belegt zu sein. Beispiel:
if (a & b) { // No shortcut-eval! b is being looked at no matter what!
// ...
} else {
// ...
}
Für Simple Condition Coverage reichen zwei Test-Points aus:
1. a = true, b = false
2. a = false, b = true
In beiden Fällen wertet die if-Condition zu false aus, und der true-Zweig wird nie betreten. Keine Branch-Coverage! Nun betrachten wir das obige Beispiel mit Shortcut-Eval (&&). Nun brauchen wir noch einen zusätzlichen Test-Point für Simple Condition Coverage, bei Test-Point 2 wird b nämlich nicht mehr angeguckt.
3. a = true, b = true
Test-Point 3 wertet true aus, und folglich impliziert Simple Condition Coverage mit Shortcut-Eval Branch-Coverage!

Viele Grüße und viel Erfolg an alle Leidengenossen

Lucas