文章内容

2020/6/3 16:42:33,作 者: 黄兵

代码覆盖率

代码覆盖率的定义:

代码覆盖(英语:Code coverage)是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率

一般来说我们从以下四个维度来度量:

  • 行覆盖率(line coverage):度量被测代码中每个可执行语句是否都被执行到,但不包括java import,空行,注释等。
  • 函数覆盖率(function coverage):度量被测代码中每个定义的函数是否都被调用。分支覆盖率(branch coverage):度量被测代码中每一个判定的分支是否都被测试到。
  • 语句覆盖率(statement coverage):度量被测代码是否每个语句都被执行。所以行覆盖率的高低不能说明项目的好坏,我们要从多方面进行思考,一般我们遵循的标准应是:函数覆盖率 > 分支覆盖率 > 语句覆盖率**。


代码覆盖率最重要的意义在于:

阅读分析之前项目中未覆盖部分的代码,进而反推在前期QA以及相关测试人员在进行黑盒测试设计时是否考虑充分,没有覆盖到的代码是否是测试设计的盲点,为什么没有考虑到?是需求或者UX设计不够清晰,还是测试设计的理解有误。检测出程序中的废代码,可以逆向反推代码设计中不合理的地方,提醒设计/开发人员理清代码逻辑关系,提升代码质量。代码覆盖率高不能说明代码质量高,但是反过来看,代码覆盖率低,代码质量绝对不会高到哪里去,可以作为测试自我审视的重要工具之一。


参考资料:

1、知乎 - 实际软件工程中是否真的需要100%代码覆盖率(code coverage)?

2、代码覆盖率

分享到:

发表评论

评论列表