开发者测试覆盖率是不是越高越好?
【摘要】 问题: 为什么开发者测试看起来很美好,实际做的效果却很鸡肋,经常发现不了什么问题? 回复: 总的来说,在可以掌控的范围内,开发者测试的覆盖率当然是越高越好。这里我们需要了解的是,覆盖率指的是什么。我们平时看到的覆盖率的指标,比如说85%以上,100%以上这些都是代码行一级的覆盖率。比如100%的覆盖率呢,就是要求代码的每一行都要跑到。我们举个例子,我们现在有这么一段函数代码,有两个if el...
问题:
为什么开发者测试看起来很美好,实际做的效果却很鸡肋,经常发现不了什么问题?
回复:
总的来说,在可以掌控的范围内,开发者测试的覆盖率当然是越高越好。
这里我们需要了解的是,覆盖率指的是什么。
我们平时看到的覆盖率的指标,比如说85%以上,100%以上这些都是代码行一级的覆盖率。比如100%的覆盖率呢,就是要求代码的每一行都要跑到。
我们举个例子,我们现在有这么一段函数代码,有两个if else分支是线性排列的。要达到100%的代码覆盖率,我们只需要创建两个测试案例,一个是让两个if同时成立,另一个是让两个else同时成立就可以了。
但是从分支上来说,上面的两个分支我们可以产生4种路径:
两个if同时成立,两个else同时成立,第1个if和第2个else成立,另一个else和另一个if成立。
从上面的分析中我们可以看出,为什么100%的代码覆盖率不能完全发现问题。
这主要是因为尽管代码行覆盖率已经达到了很高的指标,但是分支这一级的路径覆盖率还有遗漏。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)