testing - 多条件覆盖是否总是意味着分支覆盖?

标签 testing code-coverage

多条件覆盖是否意味着分支覆盖?

我一直在网上阅读不同覆盖标准之间的一些比较,我发现一些资源声称多条件覆盖并不一定意味着分支覆盖,而其他人则声称它确实如此,因为它测试了所有可能的组合。

我知道用短路逻辑运算符很难实现多条件覆盖,但我不确定这是否与比较有关。

最佳答案

不,它没有。

逻辑上应该如此,但您可能在代码中存在缺陷,导致条件评估始终为,例如,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/

相关文章:

java - 艾玛(Emma)错误地仪表化了类(class)

php - Clover PHPUnit 覆盖率报告包括不需要的文件的覆盖率

javascript - 在 Emberjs 中应用转换器时如何测试序列化器

java - JSONException : Unparsable JSON string in test

javascript - React 测试库 - 避免 getBy?

c++ - 你如何将 c++filt 与 llvm-cov 报告一起使用?

unit-testing - Selenium 的作用是什么?

testing - DerivedData 中缺少 TestSummeries.plist 文件

python - 如何仅针对 PR 中更改的功能运行覆盖率报告?

testing - kotlin 多平台覆盖?