推荐答案
测试一下
题目
下述关于覆盖 率收集结果的描述正确的是
A.代码覆盖率高、功能覆盖率低,需要加强功能点的覆盖
B.代码覆盖率低、功能覆盖率高,往往是一个危险信号 ,说明功能覆盖率建模还不完善
C.功能覆盖率达到 100时,代码覆盖率 一定已经全部覆盖
D.代码覆盖 率高,功能覆盖率高,往 往标志验证正处于收 敛状态,需要加强各边界点和
参考答案与知识点
参考答案
正确选项为A、B、D。
A选项正确:代码覆盖率高意味着大部分代码行、条件分支等已被执行,但功能覆盖率低说明设计所要求的行为特性(如协议状态、数据组合等)尚未被充分验证,此时应补充功能点测试以提高功能覆盖率。
B选项正确:代码覆盖率低说明代码的执行路径未充分覆盖,但功能覆盖率却高,这往往是因为功能覆盖点建模时未反映所有代码对应的功能,例如仅覆盖了部分正常场景而遗漏了异常代码分支,或功能覆盖点的采样条件与代码执行路径不匹配。这种矛盾状态是危险信号,提示功能覆盖率模型可能不完善,需要重新审视覆盖点的定义。
C选项错误:功能覆盖率100%只表明所有定义的功能覆盖点被击中,但代码覆盖率反映的是代码的遍历程度。即使功能点全部覆盖,仍可能存在未执行的代码段(如冗余代码、异常处理分支、死代码等),因此功能覆盖率100%不能保证代码覆盖率100%。
D选项正确:代码覆盖率和功能覆盖率都高,表明验证已覆盖大部分设计行为与代码路径,是验证趋于收敛的典型特征。但覆盖率无法保证所有边界条件和异常场景(如时序冲突、非法输入组合等),因此仍需补充针对性测试来加强边界点和异常点的验证,确保设计可靠性。
涉及知识点
- 代码覆盖率与功能覆盖率的区别
- 功能覆盖率模型完整性要求
- 覆盖率收敛与验证完备性
- 边界和异常测试的必要性
- 两种覆盖率矛盾时的分析方法