2016-03-21 15 views

Antwort

1

Es gibt vier Möglichkeiten der Ausführung (I eine Erklärung für den letzten else Fall hinzugefügt):

     | 1 | 2 | 3 | 4 | 
If (condition1)   | * | * | * | * | 
    statement..   | * | | | | 
Else if (condition2) | | * | * | * | 
    statement..   | | * | | | 
Else if (condition3) | | | * | * | 
    statement..   | | | * | | 
else     | | | | * | 
    statement...  | | | | * | 
end if     | * | * | * | * | 

Die Sterne zeigen an, welche Anweisungen/Bedingungen für jedes der 4 Szenarien ausgeführt/ausgewertet werden.

Sobald eine der eingerückten Anweisungen ausgeführt wird, werden in diesem Konstrukt keine anderen Bedingungen oder Anweisungen ausgewertet.

In Tests, die Zweigabdeckung haben, enthalten die Tests mehrere verschiedene Zustände, so dass die Bedingungen (hoffentlich) manchmal falsch und manchmal so wahr sind, dass jeder Zweig in mindestens einem Test ausgeführt wird. Wenn dies der Fall ist, haben Sie Filialabdeckung.

Aber das bedeutet nicht, dass während ein dieser Tests die oben dargestellte Schema verletzt wird. Wenn auch in diesen Testläufen die Bedingung if den Wert wahr zurückgibt, bleiben die übrigen Bedingungen unbewertet.

+0

Danke dir sir .. Das macht Sinn :) –