gpt4 book ai didi

code-coverage - 声明和决策覆盖范围之间的差异

转载 作者:行者123 更新时间:2023-12-03 10:32:38 25 4
gpt4 key购买 nike

语句的覆盖范围据说可以确保代码中的每个语句至少执行一次。
决策/分支覆盖范围据说用于测试对决策的每个分支/输出都进行了测试,即,将执行两个false / true分支中的所有语句。
但这不一样吗?在声明覆盖率中,我需要执行所有语句,因此我猜只能通过运行所有可能的方式来完成。我知道我在这里错过了一些东西。

最佳答案

如果测试具有完整的分支覆盖范围,那么我们可以说它也具有完整的语句覆盖,但反之则没有。

100%分支覆盖率=> 100%语句覆盖率

100%的语句覆盖率并不意味着100%的分支覆盖率

原因是除了执行所有语句外,还涉及分支覆盖,我们还应该验证测试是否执行了所有分支,这可以解释为覆盖了控制流分支中的所有边缘。

if(a){
if(b){
bool statement1 = true;
}
}

a = true,b = true将提供100%的语句覆盖率,但不提供分支覆盖率

enter image description here

在分支覆盖率中,我们需要 覆盖所有边缘,我们在上图中将其覆盖为 红线的语句覆盖率错过了

关于code-coverage - 声明和决策覆盖范围之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com