实验一黑盒测试
一、 实验目的
1、 掌握黑盒测试的基础知识;
2、 掌握黑盒测试的检查内容及测试目的;
3、 掌握黑盒测试的几种基本测试方法:等价类划分方法、边界值分析方法、因果图法和决策表法
二、 实验要求
1、 复习有关内容,理解黑盒测试;
2、 掌握等价类划分、边界值分析方法、因果图法和决策表法,并能设计出测试用例;
3、 对具体软件,能分别使用相应的黑盒测试方法设计测试用例,并实施测试、分析测试结果
三、 实验内容
实验题目
1、设计函数实现输入日期显示星期几,并用等价类及边界值法测试
实验步骤:
① 设计程序
② 划分等价类,得到等价类表。等价类表格式如下:
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
年 |
1900到2050内的闰年 |
1 |
Year<1900 |
10 |
|
1900到2050内的平年 |
2 |
Year>2050 |
11 |
|
|
|
非数字 |
12 |
月 |
1,3,5,7,8,10,12 |
3 |
Month<1 |
13 |
|
4,6,9,11 |
4 |
Month>12 |
14 |
|
2 |
5 |
非数字 |
15 |
日 |
1~28 |
6 |
Day<1 |
16 |
|
29 |
7 |
Day>31 |
17 |
|
30 |
8 |
Year为闰年 且Month 为2时,Day>29 |
18 |
|
31 |
9 |
Year为平年 且Month 为2时,Day>28 |
19 |
|
|
|
Month=1,3,5,7,8,10,12时,Day>31 |
20 |
|
|
|
Month=4,6,9,11 时,Day>30 |
21 |
|
|
|
非数字 |
22 |
③ 运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
序号 |
输入数据 |
覆盖等价类 |
输出 |
1 |
2009,12,2 |
2,3,6 |
星期3 |
2 |
2022,3,14 |
2,2,6 |
星期1 |
3 |
2008,3,0 |
1,3,16 |
输入日期无效 |
4 |
2022,6,e |
2,4,22 |
输入日期无效 |
5 |
1800,3,15 |
10,3,6 |
输入日期无效 |
6 |
2012,0,30 |
1,13,8 |
输入日期无效 |
7 |
a,4,11 |
12,4,6 |
输入日期无效 |
8 |
2017,b,30 |
2,15,8 |
输入日期无效 |
9 |
2019,4,31 |
2,4,21 |
输入日期无效 |
10 |
2018,2,31 |
2,5,19 |
输入日期无效 |
11 |
2022,13,31 |
2,14,9 |
输入日期无效 |
④ 运用边界值法设计测试用例。
{<1,6,23>,<2,6,23>,<2000,1,23>,<2000,2,23>,<2000,11,23>,<2000,12,23>,<2000,6,23>,<2000,6,1>,<2000,6,2>,<2000,5,30>,<2000,5,31>,<2000,6,29>,<2000,6,30>,<2000,2,28>,<2000,2,29>,<1999,2,27>,<1999,2,28>}
2、找零钱最佳组合
① 设计程序
② 划分等价类,得到等价类表。等价类表格式如下:
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
商品价格 |
0<=R<=100 |
1 |
R<0 or R>100 |
3 |
|
|
|
R非数字 |
4 |
顾客付款 |
0<=P<=100 |
2 |
P<0 or P>100 |
5 |
|
|
|
P非数字 |
6 |
|
|
|
R>P |
7 |
③ 运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
序号 |
输入数据 |
覆盖等价类 |
输出 |
1 |
R=60,P=80 |
1,2 |
10元2张 |
2 |
R=e,P=10 |
4,2 |
输入价格无效 |
3 |
R=10,P=e |
1,6 |
输入支付金额无效 |
4 |
R=75,P=40 |
1,7 |
无效,顾客付款小于商品金额 |
5 |
R=60,P=1000 |
1,5 |
输入支付金额无效 |
6 |
R=101,P=65 |
2,3 |
输入价格无效 |
④ 运用边界值法设计测试用例。
{<1,1>,<2,2>,<99,50>,<100,50>,<60,50>,<60,1>,<60,2>,<100,99>,<100,100> }
3、自动售货机
①编写程序
②分析原因与结果
③画出因果图
④转化为决策表
⑤根据决策表设计测试用例,得到测试用例表
因果图
决策表
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
条件桩 |
五角硬币 |
1 |
1 |
0 |
0 |
1 |
0 |
—— |
—— |
|
一元硬币 |
0 |
0 |
1 |
1 |
0 |
1 |
—— |
—— |
|
橙汁按钮 |
1 |
0 |
1 |
0 |
—— |
—— |
1 |
0 |
|
啤酒按钮 |
0 |
1 |
0 |
1 |
—— |
—— |
0 |
1 |
动作桩 |
出啤酒 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
|
出橙汁 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
找回五角钱 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
测试用例
序号 |
输入数据 |
期望输出 |
实际输出 |
1 |
1,1 |
出啤酒,找回五角钱 |
出啤酒,找回五角钱 |
2 |
2,1 |
出啤酒 |
出啤酒 |
3 |
3,1 |
无效数据 |
无效数据 |
4 |
1,5 |
无效数据 |
无效数据 |
5 |
2,2 |
出橙汁,找回五角钱 |
出橙汁,找回五角钱 |
6 |
2,1 |
出橙汁 |
出橙汁 |
4、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。
① 中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影。
② 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。
③ 中国国内的航班的商务仓有食物供应,但是不可以播放电影
④ 中国国内航班的经济仓只有当飞行时间大于2小时时才有食物供应,但是不可以播放电影。
请用程序实现上述功能,并用决策表法设计测试用例,再执行测试,撰写实验报告。
实验步骤:
① 编写程序
② 构造决策表
③ 根据决策表设计测试用例,得到测试用例表
因果图
决策表
|
|
1 |
2 |
3 |
4 |
5 |
6 |
条件桩 |
欧美 |
1 |
0 |
0 |
0 |
0 |
0 |
|
国外非欧美 |
0 |
1 |
1 |
0 |
0 |
0 |
|
国内 |
0 |
0 |
0 |
1 |
1 |
1 |
|
商务舱 |
—— |
1 |
0 |
1 |
0 |
0 |
|
经济舱 |
—— |
0 |
1 |
0 |
1 |
1 |
|
飞行时间两小时以内 |
—— |
—— |
—— |
—— |
0 |
1 |
|
飞行时间超过两小时 |
—— |
—— |
—— |
—— |
1 |
0 |
动作桩 |
播放电影 |
1 |
1 |
0 |
0 |
0 |
0 |
|
食物供应 |
1 |
1 |
1 |
1 |
1 |
0 |
测试用例
序号 |
输入数据 |
期望输出 |
实际输出 |
1 |
1,1,2 |
食物供应,播放电影 |
食物供应,播放电影 |
2 |
1,1,1 |
食物供应,播放电影 |
食物供应,播放电影 |
3 |
2,1,2 |
播放电影 |
播放电影 |
4 |
2,2,1 |
食物供应 |
食物供应 |
5 |
3,1,2 |
食物供应 |
食物供应 |
6 |
3,2,1 |
无 |
无 |
四、 代码
实验的源码放在附带的文件夹里,由于比较长,不在这里粘贴。
运行截图如下:
1、设计函数实现输入日期显示星期几,并用等价类及边界值法测试
2、找零钱最佳组合
3、自动售货机
4、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。