选项:
A、这可以帮助发现是否存在冗余代码
B、可以帮助确定代码行是否被完全执行
C、可以帮助发现状态机跳转路径是否覆盖
D、可以帮助确定功能需求是否完全实现
答案:
D
解析:
覆盖率从大的方面分为两类,一类是功能覆盖率(function coverage),另一类是代码覆盖率(code coverage)。其中功能覆盖率又分为覆盖点(coverage points)和断言(assertion)等,而代码覆盖率又分为行覆盖(line coverage),翻转覆盖(toggle coverage),分支覆盖(branch coverage),条件覆盖(condition coverage),状态机覆盖(FSM coverage)等。
代码覆盖率定义:代码覆盖率是对整个测试过程中被执行的代码的衡量,它能测量源代码中的哪些语句在测试中被执行,哪些语句尚未被执行。
测量代码覆盖率的目的:
(1)了解我们的测试用例对源代码的测试效果
(2)了解我们是否进行了足够的测试
(3)在软件的整个生命周期内保持测试质量
代码覆盖率的种类:
(1)行覆盖率:多少行代码已经被执行过;
(2)路径覆盖率:在穿过代码和表达式的路径中有哪些已经被执行过;
(3)翻转覆盖率:哪些单位比特变量的值为0或1;
(4)状态机覆盖率:状态机哪些状态和状态转换已经被访问过。