一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(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就会出现删除前的状态。