15.白盒测试

白盒测试也是下午题的重点;几乎每年必考;

主要议题:

在这里插入图片描述

1.白盒测试概念

把软件看成透明的盒子,了解盒子中的对象,和数据的流动过程;
在这里插入图片描述

3.代码检查法

人工测试;
代码审查:
1、给代码、文档给评审小组,供其阅读;
2、程序员讲解代码设计,评审小组根据讲解情况看有无设计问题;
走查:评审小组拿到测试用例后人工运行代码;即以人的思想充当计算机运行程序,看有无问题;
这3中方法效率低;
静态结构分析、静态质量度量,看下课本即可,考试很少涉及;
在这里插入图片描述

3.逻辑覆盖法

重点,下图所有方法都需要掌握;
在这里插入图片描述
在这里插入图片描述

3.1.语句覆盖

设计足够多的测试用例,使得程序中的每个语句至少被覆盖一次;
要以最少的工作量达到目的;
虽然测试了整条路径,但是无法判断出逻辑表达式中&&写成||的情况;
以下面x=4,y=2,z=0这个测试用例,对逻辑表达式的判定,只有一半,即真的那半;覆盖程度弱;

3.2.判定覆盖

设计足够多的测试用例,使得程序中每个判定的真分支、假分支都被执行过;
虽然测试了整条路径,但是无法判断出逻辑表达式中&&写成||的情况;
在这里插入图片描述

3.3.条件覆盖

设计足够多的测试用例,使得每个判定中的条件的真假值都要出现过一次;
也就是说,第一个判定中,y>1和z0,这两个条件都要出现一次;
y>1 z
0 结果
T T T (1)
F F F

T F F (2)
F T F
只关注条件的真假值,不关注判定结果的真假值;
所以也有弊端,如上面的(1)无法判断出逻辑表达式中&&写成||的情况;而(2)的判定结果只覆盖了假的情况;

3.4.条件判定组合覆盖

既满足条件覆盖的要求,同时对结果也要满足判定覆盖的要求;
既关注条件的真假值,也关注判定结果的真假值;
如上述(1)就满足;
同样无法判断出逻辑表达式中&&写成||的情况;
在这里插入图片描述

3.5.多条件覆盖(条件组合覆盖)

设计足够多的测试用例,使得判定真的各个条件的各种可能组合(TT、TF、FT、FF)都出现过一次;
如果有n个条件,则需要2的n次方的组合,覆盖性强,工作量大;
在这里插入图片描述

3.6.修正判定条件覆盖

为避免MCC工作量大的问题;
要求程序的入口和出口被覆盖过一次(符合条件覆盖、判定覆盖),条件对判定结果是独立的(即满足二次计算);
在这里插入图片描述
对于条件a,可以选择测试用例1、5;因为1、5中,a变,b、c不变,结果变,符合二次计算的要求;
不可选择测试用例4、8;因为4、8中,a变,b、c不变,结果不变,不符合二次计算的要求;
同理可选择出关于条件b、c,符合二次计算要求的测试用例;
我们有以下三种选择:
1、5 2、4 3、4, 删除重复测试用例:1、2、3、4、5;
2、6 2、4 3、4, 删除重复测试用例:2、3、4、6;
3、7 2、4 3、4, 删除重复测试用例:2、3、4、7;
在这里插入图片描述

4.基本路径测试法

如下图:1256、12346、12356都是路径,每条都有一段其他路径未出现过的,分别是:256、2346、2356;
控制流图:圈表示结点,箭头表示控制的方向、流动的方向;圈表示一个或者多个无分支的语句;
在这里插入图片描述
if else语句后没有其他语句,要补充一个空节点;
在这里插入图片描述
控制流图应当起于一个结点,终于一个结点;
区域应当加上开放 区域,如下图,共有3个区域;
在这里插入图片描述
复合条件表达式需要拆分,如:
现在的真题对这个规定比较严格,之前的不严格;

if(a>0 && b>0) {
	return x1;
} else {
	return x2;
}

拆分:

if(a>0) {
	if(b>0) {
		return x1;
	} else {
		return x2;
	}
} else {
	return x2;
}
if(a>0 || b>0) {
	return x1;
} else {
	return x2;
}

拆分:

if(a>0) {
	return x1;
} else {
	if(b>0) {
		return x1;
	} else {
		return x2;
	}
}

一般绘制控制流图后会让你计算V(g),找线性无关路径;
V(g)有三种计算方式:
区域数;(最好用这种方法,简单)
判定节点数+1;(不熟练就不用这种方法)
边-节点数+2;

V(g)的含义:进行基本路径测试时,测试用例的最大数量是多少;
在这里插入图片描述
V(g)值是多少,线性无关路径就有几条;
如上图:1256、12346、12356;
对于循环,先写0次循环的路径,再写进入循环的路径;
在这里插入图片描述

5.其他测试技术

随便看看;
在这里插入图片描述

6.不同阶段的测试重点

在这里插入图片描述

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

-玫瑰少年-

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

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

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

打赏作者

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

抵扣说明:

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

余额充值