多个条件覆盖是否意味着分支覆盖?
我一直在网上阅读不同覆盖标准之间的一些比较,并且我发现一些资源声称多个条件覆盖并不一定意味着分支覆盖,而其他人声称它确实是因为它测试了所有可能的组合。
据我所知,使用短路逻辑运算符很难实现多条件覆盖,但我不确定这是否与比较有关。
答案 0 :(得分:1)
答案 1 :(得分:0)
不,它没有。
逻辑上它应该,但是你可以在代码中有一个缺陷,导致条件总是评估为例如假,尽管有子条件的组合。 例如。 (来自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)