问题描述
试图找出多条件覆盖之间的区别
代码 A:
if (a && b) then
print "Hello"
Endif
A 的多条件覆盖:
a=1,b=1
a=1,b=0
a=0,b=1
a=0,b=0
这个怎么样?
代码 B:
if (a) then
if (b) then
print "Hello"
Endif
Endif
此代码是否具有相同的“多条件覆盖”?因为当 a=0 时,内部条件被忽略...
解决方法
两种解决方案都有效地做同样的事情并且满足“多条件覆盖”,假设您只希望在两者都为真时打印“Hello”。一种是否比另一种更有效取决于所使用的语言。无论如何,两者在复杂性方面都是线性的,因此对于现代语言和硬件来说,差异是没有实际意义的。