当前位置: 代码迷 >> 综合 >> 语句覆盖(Statement Coverage)|判定覆盖(Decision Coverage)|修订的条件/判定覆盖(Modified Condition/Decision Coverage)
  详细解决方案

语句覆盖(Statement Coverage)|判定覆盖(Decision Coverage)|修订的条件/判定覆盖(Modified Condition/Decision Coverage)

热度:51   发布时间:2024-01-16 21:42:32.0
  • 语句覆盖(Statement Coverage)
    • 又称行覆盖(Line Coverage),段覆盖(Segment Coverage),基本块覆盖(Basic Block Coverage)
    • 这是最常用也是最常见的一种覆盖方式,就是度量被测代码中每个可执行语句是否被执行到了
    • 这里说的是“可执行语句”,因此就不会包括像C++的头文件声明,代码注释,空行,等等
    • 语句覆盖常常被人指责为“最弱的覆盖”,它只管覆盖代码中的执行语句,却不考虑各种分支的组合等等
    • 简言之,语句覆盖,就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。这里的“若干个”,意味着使用测试用例越少越好
    • 语句覆盖率 = 被测试到的语句数量 / 可执行的语句总数 x 100%

  • 判定覆盖(Decision Coverage)
    • 又称为分支覆盖(Branch Coverage)
    • 所谓判定覆盖,就是设计若干个测试用例,运行被测程序,使得程序中每个判定的取真分支和取假分支至少被测试一次
    • 【优点】:判定覆盖具有比语句覆盖更强的测试能力,而且具有和语句覆盖一样的简单性,无需细分每个判定就可以得到测试用例
    • 【缺点】:往往大部分的判定语句是由多个逻辑条件组合而成(如,判定语句中包含AND、OR、CASE),若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径

  • 修订的条件/判定覆盖(Modified Condition/Decision Coverage)
    • M
  相关解决方案