白盒测试用例设计

定义

白盒测试是基于程序内部逻辑结构,针对程序语句、路径、变量状态等进行测试的一种方法。白盒测试方法包括逻辑覆盖法和基本路径测试法,逻辑覆盖法又包括语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖、路径覆盖。

白盒测试方法的分类

语句覆盖

设计测试用例,使程序中每条语句都能至少执行一次。

在这里插入图片描述

在这里插入图片描述

判定覆盖

判定覆盖也叫分支覆盖,设计测试用例,使每个判定中的真值和假值都至少执行一次,即每个分支的两端都走一遍。

在这里插入图片描述

在这里插入图片描述

条件覆盖

构造测试用例,使每个判定语句中,每个条件的可能值(真 / 假)至少满足一次。

在这里插入图片描述

在(a>1 and b=0)中,
a>1记为:C1
b=0记为:C2

在(a=2 || x>1)中,
a=2记为:C3
x>1记为:C4

在这里插入图片描述

条件判定覆盖

设计足够的测试用例,使每个判定中,每个条件的可能值(真 / 假)至少满足一次,且每个判定的结果(真 / 假)至少满足一次。

在这里插入图片描述

在(a>1 and b=0)中,(a>1 and b=0)记为P1
a>1记为:C1
b=0记为:C2

在(a=2 || x>1)中,(a=2 || x>1)记为P2
a=2记为:C3
x>1记为:C4

在这里插入图片描述

条件组合覆盖

设计足够的测试用例,使每个判定中,条件结果的所有可能组合都至少出现一次。

在这里插入图片描述

在(a>1 and b=0)中,(a>1 and b=0)记为P1
a>1记为:C1
b=0记为:C2

在(a=2 || x>1)中,(a=2 || x>1)记为P2
a=2记为:C3
x>1记为:C4

在这里插入图片描述
注意:是以单个判定为基准,一个判定里面的条件取值进行组合;而多个判定之间的条件取值不需要进行组合。

路径覆盖

设计测试用例,覆盖程序中所有可能的路径。

在这里插入图片描述

在(a>1 and b=0)中,(a>1 and b=0)记为P1
a>1记为:C1
b=0记为:C2

在(a=2 || x>1)中,(a=2 || x>1)记为P2
a=2记为:C3
x>1记为:C4

在这里插入图片描述

基本路径测试法

在程序控制流图的基础上,通过分析控制流图的环路复杂性,导出基本可以执行路径的集合,然后据此设计测试用例。设计出的测试用例要保证在测试中程序的每条可执行语句至少执行一次。

示例:
1、以详细设计或源代码为基础,导出程序的控制流图。

程序流程图:

在这里插入图片描述

控制流图:

在这里插入图片描述
2、计算控制流图G的环路复杂性 V(G)
V(G)=判断节点数+1,即V(G)=3+1=4
或V(G)=边的个数 - 节点个数+2,即V(G)=12-10+2=4

3、导出独立路径。
根据控制流图的环路复杂性,可知该程序的基本路径集中的路径条数为4,具体如下:

路径1:1→2,3→4→12
路径2:1→2,3→4→5→6,7→14→4→13
路径3:1→2,3→4→5→8→9,10→14→4→13
路径4:1→2,3→4→5→8→11,12→14→4→13

4、设计测试用例,确保基本路径集中的每条路径都被执行。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值