软件测试-实验一
实验项目名称:实验一
一、 实验目的
掌握顺序表的基本操作。
掌握单链表的基本操作。
掌握循环链表的基本操作。
二、 实验内容
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,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.找零钱最佳组合
假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。
划分等价类,得到等价类表。等价类表格式如下:
运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
运用边界值法设计测试用例。
{<1,1>,<2,2>,<99,50>,<100,50>,<60,50>,<60,1>,<60,2>,<100,99>,<100,100> }
3,有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
分析原因与结果
原因 |
结果 |
c1:投一元 |
e1:出五角 |
c2:投五角 |
e2:出啤酒 |
c3:选啤酒 |
e3:出橙汁 |
c4:选橙汁 |
|
因果图
决策表
|
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 |
五角 |
橙汁 |
出橙汁 |
4、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。
假设一个中国的航空公司规定:
① 中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影。
② 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。
③ 中国国内的航班的商务仓有食物供应,但是不可以播放电影
④ 中国国内航班的经济仓只有当飞行时间大于2小时时才有食物供应,但是不可以播放电影。
请用程序实现上述功能,并用决策表法设计测试用例,再执行测试,撰写实验报告。
构造决策表
|
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 |
国内 |
经济舱 |
两小时内 |
无 |
三、 个人体会
思考:
在实际的测试中,如何设计测试用例才能达到用最少的测试用例检测出最多的缺陷;
选择和实际情况相符合的测试方法。
在进行用例设计时,如何考虑软件测试用例的充分性和减少软件测试用例的冗余性;
充分熟悉需求,精心选择测试数据提高覆盖率。
体会:
我通过本次实验基本掌握乐黑盒测试的几种基本测试方法:等价类划分方法、边界值分析方法、因果图法和决策表法等方法的基础知识,同时能分别使用相应的黑盒测试方法设计测试用例,并实施测试、分析测试结果。