多条件覆盖是否意味着分支覆盖?
我一直在网上阅读不同覆盖标准之间的一些比较,我发现一些资源声称多条件覆盖并不一定意味着分支覆盖,而其他人则声称它确实如此,因为它测试了所有可能的组合。
我知道用短路逻辑运算符很难实现多条件覆盖,但我不确定这是否与比较有关。
最佳答案
不,它没有。
逻辑上应该如此,但您可能在代码中存在缺陷,导致条件评估始终为,例如,false,尽管有子条件的组合。 例如。 (来自 Bullseye.com):
bool f(bool e) { return false; }
bool a[2] = { false, false };
if (f(a && b)) ...
if (a[int(a && b)]) ...
if ((a && b) ? false : false)
关于testing - 多条件覆盖是否总是意味着分支覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34350069/