控制流测试 (语句覆盖、分支覆盖、判定覆盖、路径覆盖) 与条件测试

控制流测试控制流测试 (Control Flow Testing):是一种在考虑测试对象的控制流情况下导出测试用例的测试方法,并且借助于控制流图能评估测试的完整性(覆盖率)。原则控制流图是一个带有开始节点和结束节点的有向图 程序的指令(语句)是通过节点来表示的 一个不带分支和汇总的语句序列可以简单地用一个节点来表示 语句之间的路径通过有向线(控制流)表示 控制流图的开始和结束节点在实际应用中常常被省略测试活动列出应该覆盖的路径 设计输入、输出使得程序能按逻辑含义走到此路径 运行
摘要由CSDN通过智能技术生成

控制流测试

控制流测试 (Control Flow Testing):是一种在考虑测试对象的控制流情况下导出测试用例的测试方法,并且借助于控制流图能评估测试的完整性(覆盖率)。

原则

  • 控制流图是一个带有开始节点和结束节点的有向图
  • 程序的指令(语句)是通过节点来表示的
  • 一个不带分支和汇总的语句序列可以简单地用一个节点来表示
  • 语句之间的路径通过有向线(控制流)表示
  • 控制流图的开始和结束节点在实际应用中常常被省略

测试活动

  1. 列出应该覆盖的路径
  2. 设计输入、输出使得程序能按逻辑含义走到此路径
  3. 运行测试来观察此路径是否走到。如果没有走到,则要么是对逻辑理解不足,要么是逻辑本身有错误。

主要的控制流测试方法:

  • 语句覆盖
  • 分支覆盖
  • 判定覆盖
  • 路径覆盖(包括结构化的路径覆盖等)

语句覆盖

语句覆盖(C0-覆盖)/ 语句覆盖测试 / 语句测试(Statement testing):在控制流中每条可执行的语句至少被执行一次!

  • 必要的、最简单的,但也是最弱的标准
  • 无法检测到缺失的语句
  • 但能发现无法执行到的语句(死代码)

覆盖率:
语句覆盖 = 已执行的语句数目 / 所有语句的总数目 * 100%

语句即节点,控制流图内的所有节点都走到即为 100% 语句覆盖

分支覆盖

分支覆盖(C1-覆盖)/ 分支覆盖测试 / 分支测试(Branch testing):在控制流图内的每一条边都至少被执行一次!

  • 在实践中作为最小的测试标准
  • 能发现无法执行到的程序分支
  • 无法发现缺失的分支
  • 没有测试到分支的组合

覆盖率:
分支覆盖 = 已执行

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值