一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。(作业若雷同,后上传者判定0分)
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
要求写出测试用例表、执行情况和测试小结。
①等价类测试:
有效类 | 无效类 | |
数据类型 | ① 数字字符 | ⑤ 有非数字字符 |
年 | ② 1920<=year<=2050 | ⑥ year<1920 或 ⑦ year>2050 |
月 | ③ 1<=month<=12 | ⑧ month<1 或 ⑨ month >12 |
日 | ④ 1<=day<=31 |
⑩ day <1 或 ? 11 |
测试用例
类型 | 用例号1 | 测试数据 | 覆盖范围 | 预测输出 | 实际输出 | 通过 | ||||||
年 | 月 | 日 | 星期 | 上一天 | 下一天 | 星期 | 上一天 | 下一天 | ||||
等价类 | 1 | 2017 | 3 | 4 | ①②③④ | 六 | 2017年3月3日 | 2017年3月5日 | 六 | 2017年2月28日 | 2017年3月5日 | ╳ |
无效等价类 | 2 | 2017 | W | 6 | ⑤ | 输入有误,请重新输入 | 空 | 空 | 空 | ╳ | ||
3 | 1900 | 5 | 10 | ⑥ | 输入有误,请重新输入 | 年份超出范围,显示出星期四 | ╳ | |||||
3 | 2080 | 5 | 10 | ⑦ | 输入有误,请重新输入 | 年份超出范围,显示出星期五 | ╳ | |||||
4 | 2017 | 0 | 10 | ⑧ | 输入有误,请重新输入 | 月份超出范围,显示出星期六 | ╳ | |||||
5 | 2017 | 13 | 10 | ⑨ | 输入有误,请重新输入 | 月份超出范围,显示出星期三 | ╳ | |||||
6 | 2017 | 5 | 0 | ⑩ | 输入有误,请重新输入 | 月份超出范围,显示出星期日 | ╳ | |||||
7 | 2017 | 5 | 40 | ? | 输入有误,请重新输入 | 月份超出范围,显示出星期五 | ╳ |
②边界值测试:
日期测试中,有着3个变量,因此会产生3*4+1=13个测试用例
用例号1 | 测试数据 | 预测输出 | 实际输出 | 通过 | ||||||
年 | 月 | 日 | 星期 | 上一天 | 下一天 | 星期 | 上一天 | 下一天 | ||
1 | 1985 | 6 | 1 | 六 | 1985年5月31日 | 1985年6月2日 | 六 | 1985年5月31日 | 1985年6月2日 | √ |
2 | 1985 | 6 | 2 | 日 | 1985年6月1日 | 1985年6月3日 | 日 | 1985年6月1日 | 1985年6月3日 | √ |
3 | 1985 | 6 | 30 | 日 | 1985年6月29日 | 1985年7月1日 | 日 | 1985年6月29日 | 1985年7月1日 | √ |
4 | 1985 | 6 | 31 | 一 | 输入有误,请重新输入 | 一 | 日期超出范围 | ╳ | ||
5 | 1985 | 1 | 15 | 二 | 1985年1月14日 | 1985年1月16日 | 二 | 1984年12月31日 | 1985年1月16日 | ╳ |
6 | 1985 | 2 | 15 | 五 | 1985年2月14日 | 1985年2月16日 | 五 | 1985年2月14日 | 1985年2月16日 | √ |
7 | 1985 | 11 | 15 | 五 | 1985年11月14日 | 1985年11月16日 | 五 | 1985年11月14日 | 1985年11月16日 | √ |
8 | 1985 | 12 | 15 | 日 | 1985年12月14日 | 1985年12月16日 | 日 | 1985年12月14日 | 1985年12月16日 | √ |
9 | 1920 | 6 | 15 | 二 | 1920年6月14日 | 1920年6月16日 | 1920年6月14日 | 1920年6月16日 | √ | |
10 | 1921 | 6 | 15 | 三 | 1921年6月14日 | 1921年6月16日 | 三 | 1921年6月14日 | 1921年6月16日 | √ |
11 | 2050 | 6 | 15 | 三 | 2050年6月14日 | 2050年6月16日 | 三 | 2050年6月14日 | 2050年6月16日 | √ |
12 | 2049 | 6 | 15 | 二 | 2049年6月14日 | 2049年6月16日 | 二 | 2049年6月14日 | 2049年6月16日 | √ |
13 | 1985 | 6 | 15 | 六 | 1985年6月14日 | 1985年6月16日 | 六 | 1985年6月14日 | 1985年6月16日 | √ |
③决策表测试
M1={month有30天}
M2={month有31天,12月除外}
M3={month是12月}
M4={month是2月}
D1={1<=day<=27}
D2={day=28}
D3={day=29}
D4={day=30}
D5={day=31}
Y1={year是闰年}
Y2={year不是闰年}
规则\选项 |
1,2,3 | 4 | 5 | 6,7,8,9 | 10 | 11,12,13,14 | 15 | 16 | 17 | 18 | 19 | 20 | 21,22 | |
条件 | C1:month在 | M1 | M1 | M1 | M2 | M2 | M3 | M3 | M3 | M4 | M4 | M4 | M4 | M4 |
C2:day在 | D1,D2,D3 | D4 | D5 | D1,D2,D3,D4 | D5 | D1,D2,D3,D4 | D5 | D1 | D2 | D2 | D3 | D3 | D4,D5 | |
C3:year在 | -- | -- | -- | -- | -- | -- | -- | -- | Y1 | Y2 | Y1 | Y2 | -- | |
动作 | A1:不可能 | √ | √ | √ | ||||||||||
A2:day加1 | √ | √ | √ | √ | √ | |||||||||
A3:day复位 | √ | √ | √ | √ | √ | |||||||||
A4:month加1 | √ | √ | √ | √ | ||||||||||
A5:month复位 | √ | |||||||||||||
A6:year加1 | √ |
测试用例
用例号 | 测试输入 | 预期输出 | 实际输出 | 结果 | ||||||
月 | 日 | 年 | 星期 | 上一天 | 下一天 | 星期 | 上一天 | 下一天 | ||
1-3 | 9 | 16 | 2001 | 日 | 2001年9月15日 | 2001年9月17日 | 日 | 2001年9月15日 | 2001年9月17日 | √ |
4 | 9 | 30 | 2001 | 日 | 2001年9月29日 | 2001年10月1日 | 日 | 2001年9月29日 | 2001年10月1日 | √ |
5 | 9 | 31 | 2001 | 输入有误,请重新输入 | 一 | 日期超出范围 | ╳ | |||
6-9 | 1 | 16 | 2004 | 五 | 2004年1月15日 | 2004年1月17日 | 五 | 2003年12月31日 | 2004年1月17日 | ╳ |
10 | 1 | 31 | 2001 | 六 | 2004年1月30日 | 2004年2月1日 | 六 | 2003年12月31日 | 2004年2月1日 | ╳ |
11-14 | 12 | 16 | 2004 | 四 | 2004年12月15日 | 2004年12月17日 | 四 | 2004年12月15日 | 2004年12月17日 | √ |
15 | 12 | 31 | 2001 | 一 | 2001年12月30日 | 2002年1月1日 | 一 | 2001年12月30日 | 2002年1月1日 | √ |
16 | 1 | 16 | 2001 | 二 | 2001年1月17日 | 2001年1月17日 | 二 | 2000年12月31日 | 2001年1月17日 | ╳ |
17 | 2 | 28 | 2001 | 三 | 2001年2月27日 | 2001年3月1日 | 三 | 2001年2月27日 | 2001年3月1日 | √ |
18 | 2 | 28 | 2004 | 六 | 2004年2月27日 | 2004年2月29日 | 六 | 2004年2月27日 | 2004年2月29日 | √ |
19 | 2 | 29 | 2004 | 日 | 2004年2月28日 | 2004年3月1日 | 日 | 2004年2月28日 | 2004年3月1日 | √ |
20 | 2 | 29 | 2001 | 输入有误,请重新输入 | 四 | 日期超出范围 | ╳ | |||
21-22 | 2 | 30 | 2004 | 输入有误,请重新输入 | 一 | 日期超出范围 | ╳ |
④状态图
状态/用例 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
启动 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
输入年 | 2 | 2 | 2 | 23 | ||||||||||
输入月 | 2 | 2 | 2 | 23 | ||||||||||
输入日 | 2 | 2 | 2 | 23 | ||||||||||
点击“确定” | 5 | 5 | 5 | 4 | 6 | 2 | ||||||||
点击“清空” | 5 | 5 | 5 | 4 | ||||||||||
年、月已输入 | 3 | 3 | ||||||||||||
年、日已输入 | 3 | 3 | ||||||||||||
月、日已输入 | 3 | 3 | 4 | |||||||||||
年、月、日已输入 | 4 | 4 | 4 | 4 | 4 | 4 | 5 | |||||||
退出 | 2 | 3 | 3 | 3 | 5 |
2、对手机上任意一款音乐软件进行黑盒测试。
1)思维导图
2)场景法
基本流 |
正常播放 |
备选流1 |
点击返回 |
备选流2 |
点击分享 |
备选流3 |
点击显示/隐藏歌词 |
备选流4 |
点击添加/取消收藏 |
备选流5 |
点击下载 |
备选流6 |
点击查看评论 |
备选流7 |
点击切换播放方式 |
备选流8 |
点击上一曲 |
备选流9 |
点击下一曲 |
备选流10 |
点击播放/暂停 |
备选流11 |
显示/隐藏播放列表 |
确定场景
场景1-完整播放 |
基本流 |
|
场景2-返回 |
基本流 |
备选流1 |
场景3-分享 |
基本流 |
备选流2 |
场景4-显示/隐藏歌词 |
基本流 |
备选流3 |
场景5-添加/取消收藏 |
基本流 |
备选流4 |
场景6-下载 |
基本流 |
备选流5 |
场景7-查看评论 |
基本流 |
备选流6 |
场景8-切换播放方式 |
基本流 |
备选流7 |
场景9-上一曲 |
基本流 |
备选流8 |
场景10-下一曲 |
基本流 |
备选流9 |
场景11-播放/暂停 |
基本流 |
备选流10 |
场景12-显示/隐藏播放列表 |
基本流 |
备选流11 |
测试用例
id |
场景 |
操作 |
预期结果 |
实际结果 |
1 |
场景1-完整播放 |
点击播放 |
播放完成,自动下一首 |
播放完成,自动下一首 |
2 |
场景2-返回 |
点击返回 |
返回主界面 |
返回主界面 |
3 |
场景3-分享 |
点击分享 |
出现分享方式选择 |
出现分享方式选择 |
4 |
场景4-显示/隐藏歌词 |
点击图片/歌词 |
歌词变图片/图片变歌词 |
歌词变图片/图片变歌词 |
5 |
场景5-添加/取消收藏 |
点击收藏图标 |
已收藏->未收藏/未收藏->已收藏 |
已收藏->未收藏/未收藏->已收藏 |
6 |
场景6-下载 |
点击下载 |
开始进行下载 |
开始进行下载 |
7 |
场景7-查看评论 |
点击评论图标 |
出现评论界面 |
出现评论界面 |
8 |
场景8-切换播放方式 |
点击切换图标 |
选择单曲循环/全部播放/随机播放 |
选择单曲循环/全部播放/随机播放 |
9 |
场景9-上一曲 |
点击上一曲 |
播放上一曲 |
播放上一曲 |
10 |
场景10-下一曲 |
点击下一曲 |
播放下一曲 |
播放下一曲 |
11 |
场景11-播放/暂停 |
点击播放/暂停 |
播放->暂停/暂停->播放 |
播放->暂停/暂停->播放 |
12 |
场景12-显示/隐藏播放列表 |
点击播放列表 |
显示->隐藏/隐藏->显示 列表 |
显示->隐藏/隐藏->显示 列表 |
2)状态图法
状态/用例 |
1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
正常播放 |
1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
点击返回 |
2 | |||||||||
点击分享 |
2 | |||||||||
点击显示/隐藏歌词 |
23 | |||||||||
点击添加/取消收藏 |
23 | |||||||||
点击下载 |
2 | |||||||||
点击查看评论 |
23 | |||||||||
点击切换播放方式 |
2345 | |||||||||
点击上一曲 |
2 | |||||||||
点击下一曲 |
3 | |||||||||
点击播放/暂停 |
45 | |||||||||
显示/隐藏播放列表 |
23 |
时间: 2024-10-11 22:39:21