19.白盒测试逻辑覆盖有哪几种覆盖标准,覆盖率最高的是什么?

本文介绍了几种常见的程序测试覆盖率标准,如语句覆盖、判断覆盖、条件覆盖等,分析了各自的优缺点。语句覆盖是最基础的标准,而条件组合覆盖考虑了条件的多种组合,但测试用例数量会显著增加。路径覆盖虽然提供最全面的测试,但可能导致巨大的工作量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

  • 优点:可以直观的从源代码得到测试用例
  • 缺点:仅仅针对程序逻辑中显式存在的语句,无法针对隐藏的条件进行测试。语句覆盖是最弱的逻辑覆盖

判断覆盖:设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,判断真假值均曾被满足

  • 优点:判定覆盖具有比语句覆盖更强的测试能力
  • 缺点:对于由多个条件组成的判定来讲,容易忽略每个条件的取值情况,这必然会遗漏部分测试路径。判定覆盖是弱的逻辑覆盖

条件覆盖:设计若干测试用例,运行被测程序,要使每个判断中每个条件的可能取值至少满足一次

  • 优点:增加了对条件判定情况的测试,增加了测试路径
  • 缺点:条件覆盖不一定包含判定覆盖,条件覆盖并不考虑判定结果

判定-条件覆盖:设计足够的测试用例,使得判断条件中的所有条件可能至少执行一次取值,同时,所有判断的可能结果至少执行一次

  • 优点:能同时满足判定,条件两种覆盖标准
  • 缺点:判定-条件覆盖准则的缺点是未考虑条件的组合

条件组合覆盖:设计足够的测试用例,使得所有可能的条件取值组合至少执行一次

  • 优点:条件组合覆盖准则满足判定覆盖,条件覆盖和判定-条件覆盖
  • 缺点:线性地增加了测试用例的数量

路径覆盖:设计所有的测试用例,用来覆盖程序中的所有可能的执行路径

  • 优点:这种测试方法可以对程序进行彻底的测试,比前面五种的覆盖面都要广
  • 缺点:需要涉及大量,复杂的测试用例,使得工作量呈指数级增长,不见得把所有的条件组合都覆盖
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值