白盒测试:语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖、路径覆盖

本文详细介绍了白盒测试的概念,重点阐述了逻辑覆盖的六个层次:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖,通过实例说明了如何实施这些覆盖策略进行单元测试。

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

一、概念

在这里插入图片描述

  1. 与黑盒测试技术不同,白盒测试技术关注测试对象的结构和处理过程,是基于测试对象的内部结构的测试技术,可以应用在所有测试级别。
  2. 白盒测试主要用于单元测试,测试具体原则为:
    –对程序模块的所有独立的执行路径至少测试一次
    –所有的逻辑判定,取“真”和取“假”的两种情况都至少测试一次
    –在循环的边界和运行界限内执行循环体
    –测试内部数据结构的有效性等

二、白盒测试技术(逻辑覆盖)

用下图的例子来讲解逻辑覆盖
在这里插入图片描述

明确概念
判定:例如A>0 && B>0是一个判定
条件:A>0是一个条件,B>0也是一个条件,记得区别于判定
语句:包括判断语句和普通执行语句

1、语句覆盖

概念:测试时,设计若干测试用例,使被测程序中的每条语句(包括判断语句和普通语句)至少执行一次
eg:
①A=2,B=2,C=2,运行测试程序,发现判断语句结果为(True,True),把每条语句都执行了一次
②A=0,B=0,C=2(False,True)和 A=1,B=1,C=1(True,False)两个测试用例可以进行语句覆盖的测试
在这里插入图片描述

2、判定覆盖

概念:测试时,设计若干测试用例,使被测程序中的每个判定中真假值都至少有一次,比如判定1(A>0 && B>0)至少要有一次True和False
eg:借用上面语句覆盖的两个例子
①A=2,B=2,C=2,运行测试程序,发现判断语句结果为(True,True),判定1(A>0 && B>0)和判定2(A>1 || C>1)只有True值,而没有False值,没有实现判定覆盖,还需要增加测试用例
②A=0,B=0,C=2(False,True)和 A=1,B=1,C=1(True,False),可以看出判定1和判定2至少都有1次真假值,符合判定覆盖的概念
在这里插入图片描述

3、条件覆盖

概念:测试时,设计若干测试用例,使被测程序中的每个判定中每个条件的真假值都至少有一次,比如判定1(A>0 && B>0),需要使A>0有真假值,并且B>0也要有真假值,不需要考虑如何组合,只需满足基本条件即可
eg:
①A=0,B=0,C=0 和 A=2,B=2,C=4
在这里插入图片描述

4、判定-条件覆盖

概念:测试时,设计若干测试用例,使被测程序中的每个判定中每个条件的真假值都至少有一次,并且每个判定的真假值也要至少执行一次(判定覆盖+条件覆盖),比如判定1(A>0 && B>0),需要使A>0有真假值,B>0也要有真假值,并且判定1也要有真假值
eg:
①A=0,B=0,C=0 和 A=2,B=2,C=4这两个测试用例组合起来,满足此覆盖的定义
在这里插入图片描述

5、条件组合覆盖

概念:测试时,设计若干测试用例,使被测程序判定中每个条件的所有可能组合至少出现一次,比如判定1(A>0 && B>0),可能出现T/T,F/F,T/F,F/T这四种组合,不用考虑和判定2中组合的组合,只需要满足每个判定中条件的可能组合即可
在这里插入图片描述
eg:
①A=0,B=0,C=0 和 A=2,B=2,C=4 和 A=2,B=0,C=0 和 A=0,B=1,C=3(两个判定里面条件的组合可以自由搭配,只要符合逻辑即可,但必须确保每个判定里面的条件所有可能组合都有)
在这里插入图片描述
在这里插入图片描述

6、路径覆盖

概念:测试时,设计若干测试用例,使得被测程序中所有可能的路径都至少被执行一次
eg:
①A=2,B=2,C=4 和 A=0,B=0,C=0 和 A=1,B=1,C=1 和 A=0,B=0,C=2(确保每一条可以走通的路径都要被覆盖)
在这里插入图片描述

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

颜安青

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

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

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

打赏作者

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

抵扣说明:

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

余额充值