覆盖率(白盒)测试

来源:互联网 发布:程序员都在这里接私活 编辑:程序博客网 时间:2024/05/01 22:45

1.由于覆盖率的不同,可以分为以下几种情况

  • 语句覆盖

    设计若干测试用例,运行被测程序,使得每个可执行语句至少执行一次

  • 判定覆盖(分支覆盖)

    使得每个判定的取值分支和取假分支至少评价一次

  • 条件覆盖

    使得每个判定的每个条件的可能取值至少评价一次

  • 条件/判定覆盖

    使得判定语句的每个条件的所有取值至少评价一次,同时每个判定语句本身的所有可能分支也至少评价一次

  • 条件组合覆盖

    使得每个判定的所有可能条件至少评价一次

  • 路径覆盖

    执行程序中所有可能的路径

2.逻辑覆盖之间存在的关系

  • 条件组合覆盖 > 判定覆盖 > 语句覆盖
  • 条件组合覆盖 > 条件覆盖
  • 条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖
  • 路径覆盖 > 判定覆盖 > 语句覆盖

3.分支结构的路径测试

  • 嵌套型分支结构

    若有n个判定语句,则存在n+1条不同的路径

  • 串联型分支结构

    若有n个判定语句,则存在2^n条不同路径,可以采用正交法

4.数据流测试

它是路径测试的一种,主要关注一条路径上变量在何时定义、何时使用,通过变量的定义和使用异常来检查程序错误。

5.变量异常的三种情况

  • 变量被定义,但未使用
  • 变量未定义,但被使用
  • 变量在使用前被重复定义

6.执行定义结点会改变变量在存储单元中的内容

7.执行使用结点不会改变变量在存储单元中的内容

8.定义/使用路径与定义/清除路径描述了数据流,往往会存在潜在错误

9.输出语句不能作为定义结点,而作为使用结点

10.覆盖率的使用原则

  • 覆盖率不是目的,而是一种手段
  • 不可能针对所有的覆盖率指标去进行测试
  • 不要追求绝对100%的覆盖率
0 0
原创粉丝点击