推荐答案
测试一下
题目
100%的代码覆盖率说明功能验证是完备的。 F
参考答案与知识点
参考答案
该判断题答案为错误。100%的代码覆盖率并不等同于功能验证的完备性。代码覆盖率(如语句覆盖、分支覆盖、条件覆盖、状态机覆盖等)仅仅衡量设计代码在执行验证过程中被执行的充分程度,它只能说明某些代码行、分支或条件被触发过,但无法验证功能逻辑的正确性、完整性以及未编写代码(缺件错误)的存在。例如,某个功能模块可能代码覆盖率100%,但其功能实现本身存在逻辑错误(如算法错误、未考虑边界条件、时序违规等),或者功能规格书中规定但设计未实现的功能(设计遗漏)根本无法通过代码覆盖率体现。此外,代码覆盖率无法覆盖所有可能的输入组合、状态跳转、协议时序、并发场景等,也无法检测设计规范之外但实际出现的行为。功能验证的完备性需要结合功能覆盖率(基于规格书定义的覆盖点)、断言覆盖(检查断言被触发的次数)以及形式化验证、假设检验等多种手段。因此,即使代码覆盖率达到100%,如果功能覆盖率不足或存在未被监测的路径,验证仍可能是不完备的。
涉及知识点
- 代码覆盖率的定义与局限
- 功能验证完备性的条件
- 功能覆盖率与代码覆盖率的区别
- 遗漏设计与缺件错误的检测
- 覆盖率驱动的验证方法