5.8日报
完成软件测试实验二
实验二白盒测试
一、实验目的
1、 掌握白盒测试的基础知识;
2、 掌握白盒测试的检查内容及测试目的;
3、 掌握黑盒测试的几种基本测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖。
二、实验要求
1、 复习有关内容,理解白盒测试;
2、 掌握语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖,并能设计出测试用例;
3、 对具体软件,能分别使用相应的白盒测试方法设计测试用例,并实施测试、分析测试结果。
三、实验内容
l 对实验一1、3题使用逻辑覆盖法进行测试用例设计。
l 对实验一2、4题使用基本路径法进行测试用例设计。
l 5、
程序伪代码
注意: 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) 基本路径法绘制出控制流图,逻辑覆盖法绘制出流程图
(2) 设计测试用列表
实验一第一题:
测试用例表
|
编号 |
输入日期 |
预期结果 |
路径 |
覆盖方法 |
|
TC1 |
2023-01-01 |
Sunday |
1→2→3→4→5 |
语句覆盖、路径覆盖 |
|
TC2 |
2023-12-25 |
Monday |
1→2→3→4→5 |
语句覆盖、路径覆盖 |
|
TC3 |
2024-02-29 |
Invalid date |
1→2→6 |
分支覆盖 |
|
TC4 |
2023-13-01 |
Invalid date |
1→2→6 |
分支覆盖 |
|
TC5 |
2023-01-32 |
Invalid date |
1→2→6 |
分支覆盖 |
|
TC6 |
2023-01-01 |
Sunday |
1→2→3→4→5 |
条件覆盖、判定覆盖 |
|
TC7 |
2023-02-28 |
Tuesday |
1→2→3→4→5 |
条件覆盖、判定覆盖 |
|
TC8 |
2024-02-29 |
Saturday |
1→2→3→4→5 |
条件组合覆盖 |
实验一第三题:
测试用例表:
|
编号 |
投币选择 |
商品选择 |
预期结果 |
路径 |
覆盖方法 |
|
TC1 |
一元 |
橙汁 |
橙汁,退回 5 角硬币 |
1→2→3→4→5 |
语句覆盖、路径覆盖 |
|
TC2 |
五角 |
啤酒 |
啤酒 |
1→2→3→4→6 |
语句覆盖、路径覆盖 |
|
TC3 |
无 |
橙汁 |
无效输入:请投币 |
1→2→7 |
分支覆盖 |
|
TC4 |
一元 |
无 |
无效输入:请选择商品 |
1→3→7 |
分支覆盖 |
|
TC5 |
五角 |
橙汁 |
橙汁 |
1→2→3→4→6 |
条件覆盖、判定覆盖 |
|
TC6 |
一元 |
啤酒 |
啤酒,退回 5 角硬币 |
1→2→3→4→5 |
条件覆盖、判定覆盖 |
|
TC7 |
无 |
无 |
无效输入:请投币 |
1→2→7 |
条件组合覆盖 |
|
TC8 |
五角 |
无 |
无效输入:请选择商品 |
1→3→7 |
条件组合覆盖 |
实验一 第二题:
测试用例表:
|
编号 |
输入数据 |
预期结果 |
测试路径 |
|
TC1 |
R = 50, P = 100 |
找零组合:1 张 50 元 |
路径1: 1→2→3→4→5→6→7 |
|
TC2 |
R = 0, P = 100 |
无效输入:价格和付款必须为整数且在1-100元之间,付款金额不能小于价格 |
路径2: 1→2→3→4 |
|
TC3 |
R = 50, P = 40 |
无效输入:价格和付款必须为整数且在1-100元之间,付款金额不能小于价格 |
路径3: 1→2→3→4→5→8 |
第四题
测试用例表:
|
编号 |
输入数据 |
预期结果 |
测试路径 |
|
TC1 |
航线:欧美,舱位:商务舱,飞行时间:两小时以内 |
食物供应:有,电影播放:可以 |
路径 1: 1→2→3→8 |
|
TC2 |
航线:国外非欧美,舱位:商务舱,飞行时间:两小时以内 |
食物供应:有,电影播放:可以 |
路径 2: 1→2→4→6→8 |
|
TC3 |
航线:国外非欧美,舱位:经济舱,飞行时间:两小时以内 |
食物供应:有,电影播放:无 |
路径 3: 1→2→4→6→9 |
|
TC4 |
航线:国内,舱位:商务舱,飞行时间:两小时以内 |
食物供应:有,电影播放:无 |
路径 4: 1→2→5→11→9 |
|
TC5 |
航线:国内,舱位:经济舱,飞行时间:超过两小时 |
食物供应:有,电影播放:无 |
路径 5: 1→2→5→7→9 |
|
TC6 |
航线:国内,舱位:经济舱,飞行时间:两小时以内 |
食物供应:无,电影播放:无 |
路径 6: 1→2→5→10→12 |
第五题
判定覆盖:
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
五、实验体会:
1.遇到了哪些问题
逻辑覆盖法和基本路径法的设计有点摸不到头脑,设计测试用例的时候,总担心有些路径或者条件没考虑到,导致测试不全面。
2.问题如何解决的
过多学习、多练习,画控制流图和流程图的时候,我就一步一步来,先在纸上画草图,再用工具整理,这样就清晰多了。设计测试用例的时候,我学会了先列出所有可能的情况,然后再一个个设计,这样就避免了很多重复的用例。工具使用上,多用几次也就熟悉了,画图速度也提上来了。
3.收获
通过这次实验,我感觉自己收获挺大的。现在对白盒测试的方法理解得更透彻了,能根据程序逻辑设计出比较全面的测试用例。分析程序逻辑的能力也提高了,能更清楚地知道程序是怎么运行的。还学会了怎么优化测试用例,避免重复,提高效率。工具使用也更熟练了,能快速画出控制流图和流程图。遇到问题的时候,也更有经验去解决了,知道怎么查资料、怎么参考案例。总的来说,这次实验不仅让我学到了白盒测试的知识,还提升了我的实际操作能力和解决问题的能力,感觉挺有成就感的。

浙公网安备 33010602011771号