石 家 庄 铁 道 大 学
实 验 报 告
|
|
实验项目名称:实验二
一、 实验目的
- 掌握白盒测试的基础知识;
- 掌握白盒测试的检查内容及测试目的;
- 掌握黑盒测试的几种基本测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖。
二、 实验内容
对实验一1、3题使用逻辑覆盖法进行测试用例设计。
对实验一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、3题使用逻辑覆盖法进行测试用例设计。
1. 日期转星期几函数测试
程序流程图
控制流图
判定覆盖
|
用例ID |
输入日期 |
预期输出 |
覆盖的判定条件 |
|
TC1 |
2023-01-01 |
星期日 |
合法日期 |
|
TC2 |
2023-02-29 |
无效日期 |
非法日期(非闰年2月29日) |
|
TC3 |
2023-00-15 |
无效日期 |
月份不在1-12范围内 |
|
TC4 |
2023-13-15 |
无效日期 |
月份不在1-12范围内 |
|
TC5 |
2023-04-00 |
无效日期 |
日期不在1-31范围内 |
|
TC6 |
2023-04-31 |
无效日期 |
日期不在1-30范围内(4月只有30天) |
|
TC7 |
2020-02-29 |
星期六 |
合法闰年日期 |
条件覆盖
|
用例ID |
输入日期 |
预期输出
|
覆盖的条件组合 |
||
|
TC8 |
2023-04-15 |
星期六 |
|
||
|
TC9 |
2024-02-29 |
星期四 |
|
||
|
TC10 |
2023-04-31 |
无效日期 |
小月31日 |
||
|
TC11 |
2023-02-28 |
星期二 |
非闰年2月最后一天 |
||
|
TC12 |
2023-06-15 |
星期四 |
30天的月份 |
||
|
TC13 |
2023-07-15 |
星期六 |
31天的月份 |
||
|
TC14 |
0001-01-01 |
星期一 |
边界值(最小日期) |
||
|
TC15 |
9999-12-31 |
星期五 |
边界值(最大日期) |
3. 饮料自动售货机测试
程序流程图
控制流图
判定覆盖
|
用例ID |
投币金额 |
选择商品
|
预期结果 |
覆盖的判定条件 |
|
TC1 |
5角 |
啤酒 |
出货啤酒 |
5角+啤酒 |
|
TC2 |
5角 |
橙汁 |
出货橙汁 |
5角+橙汁 |
|
TC3 |
1元 |
啤酒 |
出货啤酒并找零5角
|
1元+啤酒 |
|
TC4 |
1元 |
橙汁 |
出货橙汁并找零5角 |
1元+橙汁 |
|
TC5 |
2角 |
啤酒 |
提示投币不足 |
|
|
TC6 |
5角 |
无选择 |
提示选择商品 |
未选择商品 |
条件覆盖
|
用例ID
|
投币金额 |
选择商品 |
预期结果 |
覆盖的条件组合
|
|
TC7 |
5角 |
啤酒 |
出货啤酒 |
最小金额+第一种商品 |
|
TC8 |
5角 |
橙汁 |
出货橙汁 |
最小金额+第二种商品 |
|
TC9 |
1元 |
啤酒 |
出货啤酒并找零5角 |
最大金额+第一种商品 |
|
TC10 |
1元 |
橙汁 |
出货橙汁并找零5角 |
最大金额+第二种商品 |
|
TC11 |
0角 |
啤酒 |
提示投币不足 |
零金额 |
|
TC12 |
2元 |
橙汁 |
出货橙汁并找零1.5元 |
超额投币 |
|
TC13 |
5角 |
无选择 |
提示选择商品 |
有效金额但未选择商品 |
|
TC14 |
1元 |
无选择 |
提示选择商品 |
有效金额但未选择商品 |
l 对实验一2、4题使用基本路径法进行测试用例设计。
2. 找零钱最佳组合
控制流图
基本路径法
|
基本路径法
|
|||
|
输入 |
测试路径 |
测试结果 |
|
|
商品价格 |
支付金额 |
||
|
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元4张 5元0张 10元3张 50元0张
|
4. 航空服务查询
控制流图
|
基本路径法 |
||||||
|
输入 |
测试路径 |
测试结果 |
||||
|
航线 |
舱位 |
飞行时间 |
|
|
||
|
e |
1 |
2 |
1-2-10 |
输入无效 |
||
|
1 |
e |
2 |
1-2-3-10 |
输入无效 |
||
|
1 |
2 |
e |
1-2-3-4-10 |
输入无效 |
||
|
1 |
2 |
2 |
|
食物供应,播放电影
|
||
|
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
|
无 |
||
5.
判定覆盖
1.输入表格
Employee Table
|
NAME |
|
DEPT |
Salary |
|
A |
E |
1 |
10000 |
|
B |
E |
1 |
90000 |
|
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.输入表格
|
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号