一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
要求写出测试用例表、执行情况和测试小结。
a.等价类法
输入 |
有效等价类 |
无效等价类 |
年 |
大于等于1912并小于等于2050的闰年(1) |
小于1912(12) |
大于等于1912并小于等于2050的非闰年(2) |
大于2050(13) |
|
非数字(14) |
||
月 |
4,6,9,11(3) |
小于1(15) |
1,3,5,7,8,10(4) |
大于12(16) |
|
12(5) |
非数字(17) |
|
2(6) |
||
日 |
大于等于1并小于等于27(7) |
小于1(18) |
28(8) |
大于31(19) |
|
29(9) |
29(20) |
|
30(10) |
30(21) |
|
31(11) |
31(22) |
|
非数字(23) |
b.边界值法
输入 |
等价类 |
边界值 |
年 |
1912~2050 |
1911,1912,2050,2051 |
月 |
1~12 |
0,1,12,13 |
日 |
1~31 |
0,1,31,32 |
c.决策表法
条件桩:Year;Month;Day
动作桩:输出星期几;输出上一天;输出下一天;无效
确定规则个数 |
||||||
条 件 |
年 |
Y1={1912~2050间的闰年} |
Y2={1912~2050间的非闰年} |
|||
月 |
M1={4,6,9,11} |
M2={1,3,5,7,8,10} |
M3={2} |
M4={12} |
||
日 |
D1={1~27} |
D2={28} |
D3={29} |
D4={30} |
D5={31} |
|
共有2X4X5=40中规则 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
||
条件 |
Year |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
Month |
M1 |
M1 |
M1 |
M1 |
M1 |
M2 |
M2 |
M2 |
M2 |
M2 |
M3 |
|
Day |
D1 |
D2 |
D3 |
D4 |
D5 |
D1 |
D2 |
D3 |
D4 |
D5 |
D1 |
|
动作 |
无效 |
√ |
||||||||||
输出星期几 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
||
输出下一天 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
||
输出上一天 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
||
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
||
条件 |
Year |
— |
— |
— |
— |
— |
Y1 |
Y2 |
Y1 |
Y2 |
— |
— |
Month |
M3 |
M3 |
M3 |
M3 |
M4 |
M4 |
M4 |
M4 |
M4 |
M4 |
M4 |
|
Day |
D2 |
D3 |
D4 |
D5 |
D1 |
D2 |
D2 |
D3 |
D3 |
D4 |
D5 |
|
动作 |
无效 |
√ |
√ |
√ |
||||||||
输出星期几 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
||||
输出下一天 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
||||
输出上一天 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
化简后的决策表
1~3 |
4 |
5 |
6~9 |
10 |
11~14 |
15 |
16 |
17 |
18 |
19 |
20 |
21~22 |
||
条件 |
Year |
— |
— |
— |
— |
— |
— |
— |
— |
Y1 |
Y2 |
Y1 |
Y2 |
— |
Month |
M1 |
M1 |
M1 |
M2 |
M2 |
M3 |
M3 |
M4 |
M4 |
M4 |
M4 |
M4 |
M4 |
|
Day |
D1,D2,D3 |
D4 |
D5 |
D1,D2,D3,D4 |
D5 |
D1,D2,D3,D4 |
D5 |
D1 |
D2 |
D2 |
D3 |
D3 |
D4,D5 |
|
动作 |
无效 |
√ |
√ |
√ |
||||||||||
输出星期几 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
||||
输出下一天 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
||||
输出上一天 |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
测试用例表
d.状态图法
小结:
1.格式“****年**月**日”(如果输入2050年12月31日,则正常显示2051年1月1日),该软件输出数据不符合要求,而且中国大部分设备显示日期确实没有显示为“2008年05月05日”这样子的,影响美观与大众审美。
2.第四次作业中界面操作说明补充:
点击OK,如果输入有效,进行相应的数值计算;如果数值不满足约束,则弹出错误说明,统一为“输入有误,请重新输入”,然后回到初始输入状态。点击Cancle,表示重置,清空前面的数据,回到初始状态。
开发者没有进行这一步处理,而且输入框对不符合的数据输入本应该进行处理判断,如果输入“2008.”,“5”,“5”,点击“确定”,软件没有给出反应,可能用户也不知道为什么这软件没反应了。
3.年份、月份、日期输入数据超过范围,软件弹出提示信息后,没有将输入框内数据清空,不够方便用户的使用。
2、对手机上任意一款音乐软件进行黑盒测试。
要求:1)使用思维导图
2)根据场景法、状态图法设计测试用例。
3)附加题:如有可能尝试用正交实验法、组合测试对测试用例进行简化。
写出测试用例表、执行情况,测试小结。
对登录进行分析
a.场景法
基本流:输入正确的用户(邮箱/手机号)与正确的密码进入到APP
备选流1:账号不存在
备选流2:账号格式错误
备选流3:密码错误
备选流4:没有输入账户
备选流5:没有输入密码
备选流6:账号输入超长
场景1 成功登录:基本流
场景2 账号格式错误:基本流 备选流1
场景3 账号错误:基本流 备选流2
场景4 密码错误:基本类 备选流3
场景5 账号为空:基本流 备选流4
场景6 密码为空:基本流 备选流5
场景7:账号超长:基本流 备选流6
b.状态图法
输入项:
ip1:输入账号
ip2:输入密码
ip3:点击“登录”
ip4:点击“返回”
*c.正交实验法
账号:超长,空,错误账户,正确账户
密码:正确密码,错误密码,空
因子2个,水平>=3
因为因子太少,所以不使用此法。
只用了简单的数学组合法
对播放队列的当前播放列表的播放模式进行分析
基本流:点击歌曲加入到播放队列,进入播放队列,点击播放模式进行切换至列表循环,返回播放队列,进行下一曲/上一曲验证
备选流1:切换至随机播放
备选流2:切换至单曲循环
场景1 上一曲/下一曲为列表中的顺序:基本流
场景2:上一曲/下一曲为列表随机顺序:基本流 备选流1
场景3:上一曲/下一曲都不变:基本流 备选流2
对播放队列的当前播放列表的编辑功能进行分析
基本流:点击歌曲加入到播放队列,进入播放队列,点击编辑,选择1首歌曲,删除选中歌曲,点击完成,返回播放列表,检验是否还存在;退出APP,再次进入查看播放队列是否操作成功。
备选流1:不选定歌曲
备选流2:选择多首歌曲
备选流3:选择所有歌曲
备选流4:清空播放列表
场景1 一首歌曲被删除:基本流
场景2 没有歌曲被删除:备选流1
场景3 多首歌曲被删除:备选流2
场景4 所有歌曲被删除:备选流3
场景5 所有歌曲被删除:备选流4
测试小结:
1.用户登录/注册页面的账号输入限制为20与50个字符有提示,大于等于20个字符时,提示账号格式出错;大于等于50个字符是提示服务器出错。
建议:对账号输入进一步处理,如都是数字限制在11位,不存在数字与@符号提示输入格式出错等。
2.播放列表的播放模式中单曲循环设置后,在播放队列中仍可播放到其他曲目。
建议:限制上一曲/下一曲操作,毕竟在播放列表可以进行选歌,用户可能在浏览其他歌曲信息时误点上一曲下一曲,导致切歌。
3.播放列表的歌曲编辑功能中清空/删除所有歌曲,在操作后返回确实播放队列不能进行播放了。但是重启APP就会出现删除前的状态。