鉴于以下情况:
If (condition1)
statement..
Else if (condition2)
statement..
Else if (condition3)
statement..
else end
我的问题是 - >在行/分支覆盖测试中,如果第一个条件为真,则第二个条件是否可以运行?
注意:if - >否则,如果 - >如果
谢谢:)
答案 0 :(得分:3)
执行有四种可能性(我为最后一个else
案例添加了一个声明):
| 1 | 2 | 3 | 4 |
If (condition1) | * | * | * | * |
statement.. | * | | | |
Else if (condition2) | | * | * | * |
statement.. | | * | | |
Else if (condition3) | | | * | * |
statement.. | | | * | |
else | | | | * |
statement... | | | | * |
end if | * | * | * | * |
星号表示为4种情景中的每一种执行/评估哪些陈述/条件。
只要执行其中一个缩进语句,就不会在该构造中评估其他条件或语句。
在具有分支覆盖的测试中,测试包括几个不同的状态,因此条件(希望)有时是假的,有时是真的,每个分支至少在一次测试中执行。如果是这种情况,那么您有分支覆盖。
但这并不意味着在这些测试的 一个 期间,违反了上述描述的架构。同样在这些测试运行中,如果一个if
条件返回true,则其余条件仍未评估。