在编写实验二时,实验要求我们检验所写测试的代码覆盖率。因此,这里是我对代码覆盖率的一些学习总结:
代码覆盖率即为代码覆盖程度。在写程序的单元测试时,代码覆盖率通常被拿来作为衡量测试好坏的指标。
通常,代码覆盖率分为以下几个方面:
1.语句覆盖
又称行覆盖、段覆盖、基本块覆盖,这是最常用也是最常见的一种覆盖方式,就是度量被测代码中每个可执行语句是否被执行到了,即统计能够执行的代码被执行了多少行。语句覆盖常常被人指责为“最弱的覆盖”,它只管覆盖代码中的执行语句,却不考虑各种分支的组合等等。因此,有的时候,即使你的测试已经达到了100%的行覆盖,也很有可能检验不出程序中一些很基本的错误。
2.判定覆盖
又称分支覆盖、所有边界覆盖、基本路径覆盖、判定路径覆盖。它用于度量程序中每一个判定的分支是否都被测试到了。
3.条件覆盖
它度量判定中的每个子表达式结果true和false是否被测试到了。条件覆盖针对判断语句里面案例的取值都要去一次,不考虑条件的取值。
4.路径覆盖
又称断言覆盖。它度量了是否函数的每一个分支都被执行了。即所有可能的分支都执行一遍,有多个分支嵌套时,需要对多个分支进行排列组合。
只有充分考虑到各种覆盖方法,尽可能全面地覆盖到程序的各个方面,才会使我们的测试用例真正达到检验程序的价值。