软件测试区分:条件组合覆盖、语句覆盖、判定覆盖、条件覆盖、路径覆盖

  1. 语句覆盖(Statement Coverage)

    • 定义:确保测试套件中的每个可执行语句至少执行一次。
    • 特点:是最基本的覆盖方法,只关注语句是否被执行,而不关心逻辑或条件。
    • 缺点:可能遗漏某些逻辑错误,因为只关注语句执行,不关注条件或判定。
  2. 判定覆盖(Decision Coverage)或分支覆盖(Branch Coverage)

    • 定义:确保每个判定(分支点)的每个可能结果(真和假)至少发生一次。
    • 特点:关注判定(如if-else语句)的每个可能结果是否都被测试到。
    • 缺点:虽然比语句覆盖更强,但仍然可能遗漏某些路径,特别是当多个条件组合时。
  3. 条件覆盖(Condition Coverage)

    • 定义:确保每个条件(在判定中的每个子表达式)的每个可能结果(真和假)至少发生一次。
    • 特点:关注判定中的每个条件,确保它们的每个可能结果都被测试到。
    • 缺点:虽然测试了每个条件的结果,但可能没有测试到条件的组合。
  4. 条件组合覆盖(Multiple Condition Coverage)

    • 定义:确保判定中每个条件的每个可能结果组合至少发生一次。
    • 特点:这是条件覆盖的扩展,它考虑了条件之间的组合,确保所有可能的组合都被测试到。
    • 优点:比条件覆盖更强,能够发现更多逻辑错误。
    • 缺点:随着条件数量的增加,测试组合的数量会急剧增加,可能导致测试成本过高。
  5. 路径覆盖(Path Coverage)

    • 定义:确保程序中所有可能的独立路径至少执行一次。
    • 特点:这是最强的覆盖方法,因为它测试了程序的所有可能执行路径。
    • 缺点:对于复杂的程序,路径数量可能非常大,甚至是指数级的,因此实现路径覆盖可能是不切实际的。

对于逻辑表达式((a>0)&&(b>0))||(c<5),需要()个测试用例才能完成条件组合覆盖

A 、2   B、4  C、6  D、8

答案是D,2的3次方,等于8

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nanshaws

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值