一、 实验目的
- 掌握黑盒测试的基础知识;
- 掌握黑盒测试的检查内容及测试目的;
- 掌握黑盒测试的几种基本测试方法:等价类划分方法、边界值分析方法、因果图法和决策表法;
二、 实验内容
实验题目
1、设计函数实现输入日期显示星期几,并用等价类及边界值法测试
2、找零钱最佳组合
3、自动售货机
4、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。
三、 设计思路及结果
- 设计函数实现输入日期显示星期几,并用等价类及边界值法测试题
① 设计程序
② 划分等价类,得到等价类表。等价类表格式如下:
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
年 |
0<年 |
1 |
年<=0 |
7 |
月 |
1<=月<=12 |
2 |
月<1 月>12 |
8 9 |
日 |
月=1/3/5/7/8/10/12 1<=日<=31 |
3 |
月=1/3/5/7/8/10/12 日<=0 日>31 |
10 11 |
月=4/6/9/11 1<=日<=30 |
4 |
月=4/6/9/11 日<=0 日>30 |
12 13 |
|
闰年 月=2 1<=日<=29 |
5 |
闰年 月=2 日<=0 日>29 |
14 15 |
|
平年 月=2 1<=日<=28 |
6 |
平年 月=2 日<=0 日>28 |
16 17 |
③ 运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
序号 |
输入数据 |
覆盖等价类 |
输出 |
1 |
2021-5-12 |
1、2、3 |
星期三 |
2 |
2020-9-20 |
1、2、4 |
星期日 |
3 |
2000-2-29 |
1、2、5 |
星期二 |
4 |
1999-2-28 |
1、2、6 |
星期日 |
5 |
0000-12-20 |
7、2、3 |
出错 |
6 |
1988-0-4 |
1、8 |
出错 |
7 |
2024-13-23 |
1、9 |
出错 |
8 |
1888-7-0 |
1、2、10 |
出错 |
9 |
1455-5-32 |
1、2、11 |
出错 |
10 |
1689-4-0 |
1、2、12 |
出错 |
11 |
456-9-31 |
1、2、13 |
出错 |
12 |
2004-2-0 |
1、2、14 |
出错 |
13 |
2008-2-30 |
1、2、15 |
出错 |
14 |
1999-2-0 |
1、2、16 |
出错 |
15 |
4229-2-29 |
1、2、17 |
出错 |
④ 运用边界值法设计测试用例。
{<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>}
- 找零钱最佳组合
① 设计程序
② 划分等价类,得到等价类表。等价类表格式如下:
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
钱数 |
1<=钱<=100 |
1 |
钱<1 钱>100 |
3 4 |
商品价格 |
1<=价格<=钱数 |
2 |
价格<1 价格>钱 |
5 6 |
③ 运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
序号 |
输入数据 |
覆盖等价类 |
输出 |
1 |
50,3 |
1、2 |
4张10元 、 1张5元 、 2张1元 |
2 |
0,30 |
3、2 |
出错 |
3 |
200,30 |
4,2 |
出错 |
4 |
50,0 |
1、5 |
出错 |
5 |
50,60 |
1、6 |
出错 |
④ 运用边界值法设计测试用例。
{<1,1>,<2,2>,<99,50>,<100,50>,<60,50>,<60,1>,<60,2>,<100,99>,<100,100> }
- 饮料自动售货机
① 编写程序
② 分析原因与结果
原因 |
结果 |
c1:投一元 |
e1:出五角 |
c2:投五角 |
e2:出啤酒 |
c3:选啤酒 |
e3:出橙汁 |
c4:选橙汁 |
③ 画出因果图
④ 转化为决策表
1 |
2 |
3 |
4 |
||
输入 |
1 |
Y |
Y |
N |
N |
0.5 |
N |
N |
Y |
Y |
|
啤酒 |
Y |
N |
Y |
N |
|
橙汁 |
N |
Y |
N |
Y |
|
输出 |
0.5 |
√ |
√ |
||
啤酒 |
√ |
√ |
|||
橙汁 |
√ |
√ |
⑤ 根据决策表设计测试用例,得到测试用例表
编号 |
金额 |
按钮 |
结果 |
1 |
一元 |
啤酒 |
找五角、出啤酒 |
2 |
一元 |
橙汁 |
找五角、出橙汁 |
3 |
五角 |
啤酒 |
出啤酒 |
4 |
五角 |
橙汁 |
出橙汁 |
- 航空服务查询
① 编写程序
② 构造决策表
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
||
选择 |
国外 |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
N |
N |
N |
N |
欧美 |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
N |
N |
N |
N |
Y |
Y |
Y |
Y |
|
商务 |
Y |
Y |
N |
N |
Y |
Y |
N |
N |
Y |
Y |
N |
N |
Y |
Y |
N |
N |
|
超过2 |
Y |
N |
Y |
N |
Y |
N |
Y |
N |
Y |
N |
Y |
N |
Y |
N |
Y |
N |
|
服务 |
餐食 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
- |
- |
- |
|
电影 |
√ |
√ |
√ |
√ |
√ |
√ |
- |
- |
- |
- |
1 |
2 |
3 |
4 |
5 |
6 |
|||||||||
选择 |
国外 |
Y |
Y |
Y |
N |
N |
N |
|||||||
欧美 |
Y |
N |
N |
N |
N |
N |
||||||||
商务 |
- |
Y |
N |
Y |
N |
N |
||||||||
超过2 |
- |
- |
- |
- |
Y |
N |
||||||||
服务 |
餐食 |
√ |
√ |
√ |
√ |
√ |
||||||||
电影 |
√ |
√ |
||||||||||||
③ 根据决策表设计测试用例,得到测试用例表
编号 |
航线 |
仓位 |
飞行时间 |
服务 |
1 |
欧美 |
经济舱 |
超过两小时 |
餐食+电影 |
2 |
国外非欧美 |
商务舱 |
超过两小时 |
餐食+电影 |
3 |
国外非欧美 |
经济舱 |
两小时内 |
餐食 |
4 |
国内 |
商务舱 |
两小时内 |
餐食 |
5 |
国内 |
经济舱 |
超过两小时 |
餐食 |
6 |
国内 |
经济舱 |
两小时内 |
无 |
四、 个人体会
① 在实际的测试中,如何设计测试用例才能达到用最少的测试用例检测出最多的缺陷;
选择和实际情况相符合的测试方法。
② 在进行用例设计时,如何考虑软件测试用例的充分性和减少软件测试用例的冗余性;
充分熟悉需求,精心选择测试数据提高覆盖率。
感觉在设计测试时,突然就把上课讲的一步一步给忘记了,需要再重新看课程视频熟悉一遍,以后一定做好课后复习。