testing - 分支覆盖和 DU 路径

标签 testing

是否存在这样的情况,即您可以拥有 100% 的分支覆盖率,但仍有未测试的 DU 路径?如果是这样,我可以举一个简单的例子吗?

谢谢

最佳答案

如果我正确理解定义使用路径(对于每个设置值,都需要进行测试以到达使用该值的点),我认为分支覆盖率并不能保证这一点。考虑以下程序:

z = "foo"

if x > 10:
    z = "bar"
else
    pass

if y > 5:
    print z
else
    pass

现在,如果我们使用 (x = 0, y = 10) 和 (x = 20, y = 0) 进行测试,我们将覆盖所有分支。第一个测试将评估第一个 if 中的 false 分支和第二个 if 中的 true 分支。第二个测试将评估第一个 if 中的 true 分支和第二个 if 中的 false 分支。覆盖了所有分支,但没有测试打印 z 会导致“bar”的地方。

关于testing - 分支覆盖和 DU 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18437576/

相关文章:

php - 模拟php POST输入

testing - 你有任何 SQL 注入(inject)测试 "Ammo"吗?

sql - 如何在 SQL Server 2012 集群上创建尽可能快的数据库,同时牺牲任何持久性

database - Spring JPA : Testing DAO layer with multiple databases in a CI environment

testing - 测试redux-saga的 `all`效果最好的方法是什么?

angularjs - Karma - 未知提供商 : $scopeProvider

testing - Cypress - 虚假的互联网故障

testing - 与 Yii 的持续集成

java - 如何在 View/Display 中模拟点击事件以进行测试?

typescript - 在使用 jest 测试数据对应于 TypeScript 类型时避免警告