实验项目名称:实验二白盒测试
实验项目名称:实验二白盒测试
一、实验目的
1、 掌握白盒测试的基础知识;
2、 掌握白盒测试的检查内容及测试目的;
3、 掌握黑盒测试的几种基本测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖。
二、实验要求
1、 复习有关内容,理解白盒测试;
2、 掌握语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖,并能设计出测试用例;
3、 对具体软件,能分别使用相应的白盒测试方法设计测试用例,并实施测试、分析测试结果。
三、实验内容
对实验一1、3题使用逻辑覆盖法进行测试用例设计。
对实验一2、4题使用基本路径法进行测试用例设计。
程序伪代码
注意: 1)参数表中EMPTAB 为职员表,DEPTTAB为部门表;
2 ) ESIZE为职员表长度,DSIZE为部门表长度;
3)ERRCODE为出错码
MAXSALERS = 0;
ERRCODE = 0;
if(ESIZE <= 0 || DSIZE <= 0)
ERRCODE = 1;
else
{
for(i = 1; i < DSIZE ; i++) //选出各部门中最大的销售额值
if(SALES[i] > MAXSALES)
MAXSALES = SALES[i];
for(j = 1; j < DSIZE; j++) //循环找出销售额最大的部门
if(SALES[j] == MAXSALES)
{
FOUND = false;
for(int k = 1; k < ESIZE ; k++) //检查销售额最大部门的所有人员
if(EMPTAB.DEPT(k) == DEPTTAB.DEPT(j))
{
FOUND = true;
if(SALARY(k) >= 15000.00 or JOB(k) = 'M') //满足条件的人员加工资
SALARY(k) = SALARY(k) + 100.00;
else
SALARY(k) = SALARY(k) + 200.00;
}
if(FOUND == false)
ERRCODE == 2;
}
}
采用判定覆盖、条件覆盖对该程序进行用例设计
四、实验结果:
(1) 基本路径法绘制出控制流图,逻辑覆盖法绘制出流程图
逻辑覆盖法
实验1
程序流程图
控制流图
测试用例图
语句覆盖
输入
测试路径
测试结果
Year
Month
Day
a
11
30
1-2-3-17
输入日期无效
2023
3
28
1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17
星期一
条件覆盖
输入
测试路径
测试结果
Year
Month
Day
a
11
30
1-2-3-17
输入日期无效
2001
a
12
1-2-3-4-5-17
输入日期无效
2022
9
b
1-2-3-4-5-6-7-17
输入日期无效
3000
10
1
1-2-3-4-5-6-7-8-17
输入日期无效
2020
14
4
1-2-3-4-5-6-7-8-9-17
输入日期无效
2021
1
32
1-2-3-4-5-6-7-8-9-10-17
输入日期无效
2008
2
30
1-2-3-4-5-6-7-8-9-10-11-17
输入日期无效
2009
2
29
1-2-3-4-5-6-7-8-9-10-11-12-17
输入日期无效
2022
1
32
1-2-3-4-5-6-7-8-9-10-11-12-13-17
输入日期无效
2023
6
31
1-2-3-4-5-6-7-8-9-10-11-12-13-14-17
输入日期无效
2023
3
28
1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17
星期一
路径覆盖
输入
测试路径
测试结果
Year
Month
Day
a
11
30
1-2-3-17
输入日期无效
2001
a
12
1-2-3-4-5-17
输入日期无效
2022
9
b
1-2-3-4-5-6-7-17
输入日期无效
3000
10
1
1-2-3-4-5-6-7-8-17
输入日期无效
2020
14
4
1-2-3-4-5-6-7-8-9-17
输入日期无效
2021
1
32
1-2-3-4-5-6-7-8-9-10-17
输入日期无效
2008
2
30
1-2-3-4-5-6-7-8-9-10-11-17
输入日期无效
2009
2
29
1-2-3-4-5-6-7-8-9-10-11-12-17
输入日期无效
2021
1
32
1-2-3-4-5-6-7-8-9-10-11-12-13-17
输入日期无效
2022
4
31
1-2-3-4-5-6-7-8-9-10-11-12-13-14-17
输入日期无效
2023
3
28
1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17
星期一
实验3
程序流程图
控制流图
测试用例图
语句覆盖/条件覆盖
输入
测试路径
测试结果
Button1
Button2
e
1
1-2-3-10
输入无效
2
1
1-2-3-4-5-6-11-9
取走啤酒
2
2
1-2-3-4-5-6-7-12-9
取走橙汁
1
1
1-2-3-4-5-6-7-8-13-9
取走啤酒,找零五角
1
2
1-2-3-4-5-6-7-8-14-9
取走橙汁,找零五角
路径覆盖
输入
测试路径
测试结果
Button1
Button2
e
1
1-2-3-10
输入无效
2
1
1-2-3-4-5-6-11-9
取走啤酒
2
2
1-2-3-4-5-6-7-12-9
取走橙汁
1
1
1-2-3-4-5-6-7-8-13-9
取走啤酒,找零五角
1
2
1-2-3-4-5-6-7-8-14-9
取走橙汁,找零五角
1
e
1-2-3-5-10
输入无效
基本路径法
实验2
控制流图
计算复杂度V(G)
判定节点数(4)+1=5
测试用例
基本路径法(5)
输入
测试路径
测试结果
商品价格
支付金额
e
99
1-2-7
输入无效
99
a
1-2-3-7
输入无效
32
999
1-2-3-4-7
输入无效
20
10
1-2-3-4-5-7
输入无效
30
64
1-2-3-4-5-6
1元4张
5元0张
10元3张
50元0张
实验4
控制流图
计算复杂度V(G)
判定节点数(8)+1=9
测试用例
基本路径法(9)
输入
测试路径
测试结果
航线
舱位
飞行时间
e
1
2
1-2-10
输入无效
1
e
2
1-2-3-10
输入无效
1
2
e
1-2-3-4-10
输入无效
1
2
2
1-2-3-4-5-11
食物供应,播放电影
2
1
1
1-2-3-4-5-6-12
食物供应,播放电影
2
2
1
1-2-3-4-5-6-7-13
食物供应
3
1
2
1-2-3-4-5-6-7-8-14
食物供应
3
2
2
1-2-3-4-5-6-7-8-9-15
食物供应
3
2
1
1-2-3-4-5-6-7-8-9-16
无
(2) 设计测试用列表
判定覆盖
1.输入表格
Employee Table
NAME
JOB CODE
DEPT
Salary
A
E
1
10000
B
E
1
9000
C
M
1
16000
D
E
1
15000
E
E
2
15000
F
E
2
15000
Department Table
DEPT
SALES
1
50000
2
30000
输出为0
2.输入表格
Employee Table
NAME
JOB CODE
DEPT
Salary
Department Table
DEPT
SALES
输出为1
3.输入表格
Employee Table
NAME
JOB CODE
DEPT
Salary
A
E
2
15000
B
E
2
15000
Department Table
DEPT
SALES
1
50000
2
30000
输出为2
条件覆盖
1.输入表格
Employee Table
NAME
JOB CODE
DEPT
Salary
A
E
1
10000
B
E
1
9000
C
M
1
16000
D
E
1
15000
E
E
2
15000
F
E
2
15000
Department Table
DEPT
SALES
1
50000
2
30000
输出为0
2.输入表格
Employee Table
NAME
JOB CODE
DEPT
Salary
A
E
1
12000
Department Table
DEPT
SALES
输出为1
3.输入表格
Employee Table
NAME
JOB CODE
DEPT
Salary
A
E
2
15000
B
E
2
15000
Department Table
DEPT
SALES
1
50000
2
30000
输出为2
五、实验体会:

浙公网安备 33010602011771号