【测试】白盒测试

今天写了两个小时的软件测试实验报告,原谅我上课没有好好听冯老师讲课,下课把老师课件系统的过了一遍才开始做实验报告。

再来说说我们的冯老师,带过去我离散数学、软件工程,现在带我软件测试,hahahh~~,我猜想冯老师会不会大四的毕业论文设计也带我叭。

好啦,言归正传,今天就来说说什么是白盒测试,以及白盒测试用例设计方法。

1. 什么是白盒测试

白盒测试也称结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。

1.1 遵循原则

  1. 保证一个模块中的所有独立路径至少被测试一次;
  2. 所有逻辑值均需测试真 (true) 和假 (false) 两种情况;
  3. 检查程序的内部数据结构,保证其结构的有效性;
  4. 在上下边界及可操作范围内运行所有循环。

1.2 设计方法
白盒测试主要是检查程序的内部结构、逻辑、循环和路径。

常用测试用例设计方法有:
逻辑覆盖:以程序的内部逻辑结构为基础,分为语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖等。

基本路径测试:在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。

2. 逻辑覆盖

2.1 语句覆盖
基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。
在这里插入图片描述

a=2,b=1,c=6 

2.2 判定覆盖
基本思想是设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。
在这里插入图片描述

a=2,b=1,c=6 可覆盖判断M的Y分支和判断N的Y分支; 
a=-2,b=-1,c=-3 可覆盖判断M的N分支和判断N的N分支。
或
a=1,b=1,c=-3 可覆盖判断M的Y分支和判断N的N分支; 
a=1,b=-2,c=3 可覆盖判断M的N分支和判断N的Y分支; 

2.3 条件覆盖
基本思想是设计若干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次。
在这里插入图片描述

判断M表达式:                     
设条件a>0 取真记为T1、取假记为F1
  条件b>0 取真记为T2、取假记为F2

判断N表达式:
设条件a>1 取真记为T3、取假记为F3
  条件c>1 取真记为T4、取假记为F4

在这里插入图片描述

  • 条件覆盖设计的思想就是让测试用例能覆盖T1、T2、T3、T4、F1、F2、F3、F4;
  • 它覆盖了判定M的N分支和判断N的Y分支。

2.4 判定-条件覆盖
判定-条件覆盖是判定和条件覆盖设计方法的交集,即设计足够的测试用例,使得判断条件中的所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次。
在这里插入图片描述
测试用例要满足如下条件:

  1. 所有条件可能至少执行一次取值;
  2. 所有判断的可能结果至少执行一次。

在这里插入图片描述

  • 要满足T1、T2、 T3 、T4、F1、 F2 、F3、F4

2.5 条件组合覆盖
基本思想是设计足够的测试用例,使得程序中每个判断的所有可能的条件取值组合都至少出现一次。

与条件覆盖的差别是它不是简单地要求每个条件都出现“真”与“假”两种结果,而是要求让这些结果的所有可能组合都至少出现一次。
在这里插入图片描述
在这里插入图片描述

2.6 路径覆盖
路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。
在这里插入图片描述
在这里插入图片描述

  • 覆盖组合为条件组合覆盖的组合编号。
3. 基本路径测试

设计出的测试用例要保证每一个基本独立路径至少要执行一次。

测试步骤:

  1. 依据代码绘制流程图;
  2. 确定流程图的圈复杂度(cyclomatic complexity );
  3. 确定线性独立路径的基本集合( basis set );
  4. 设计测试用例覆盖每条基本路径。

圈复杂度(Cyclomatic complexity): 代码逻辑复杂度的 度量,提供了被测代码的路径数量。复杂度越高,出错的概率越大。
V(G) = 区域数量(由节点、连线包围的区域,包括图形外部区域)
V(G) = 连线数量 - 节点数量 + 2
V(G) = 简单可预测节点数量 + 1

独立路径: 至少引入一系列新的处理语句或条件的任何路径;
基本集: 由独立路径构成的集合;
由基本集导出的测试用例,保证每行代码语句至少被执行一次,基本集合不一定唯一。

【例题】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
【附录:白盒测试知识】
1. 白盒测试知识
2. 白盒测试理论

以上不足之处,请友友们指出,博主会及时改正。💪💪😊😊

  • 10
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值