实验三
一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。(作业若雷同,后上传者判定0分)
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。要求写出测试用例表、执行情况和测试小结。
测试链接:http://www.cnblogs.com/wxcclub/p/6792634.html
(一) 被测项目界面。
(二) 测试用例设计表
1.等价类
等价类划分法 |
||||
输入及外部条件 |
有效等价类 |
等价类编号 |
无效等价类 |
等价类编号 |
日期类型 |
数字 |
1 |
非数字 |
8 |
年 |
1912≤year≤2050 |
2 |
year<1912 |
9 |
year>2050 |
10 |
|||
月 |
1≤month≤12 |
3 |
month<1 |
11 |
month>12 |
12 |
|||
非闰年2月 |
1<=day<=28 |
4 |
day<1 |
13 |
day>28 |
14 |
|||
闰年2月 |
1<=day<=29 |
5 |
day<1 |
15 |
day>29 |
16 |
|||
小月(30天) |
1<=day<=30 |
6 |
day<1 |
17 |
day>30 |
18 |
|||
大月(31天) |
1<=day<=31 |
7 |
day<1 |
19 |
day>31 |
20 |
有效等价类测试用例 |
测试结果 |
|||||||||||
测试用例 |
覆盖等价类编号 |
输入 |
期望输出 |
实际输出 |
||||||||
year |
month |
day |
下一天 |
上一天 |
星期 |
下一天 |
上一天 |
星期 |
||||
1 |
1234 |
2001 |
2 |
15 |
2001年2月16日 |
2001年2月14日 |
星期四 |
2001年2月16日 |
2001年2月14日 |
星期四 |
√ |
|
2 |
1235 |
2008 |
2 |
16 |
2008年2月17日 |
2008年2月15日 |
星期六 |
2008年2月17日 |
2008年2月15日 |
星期六 |
√ |
|
3 |
1236 |
2017 |
4 |
17 |
2017年4月18日 |
2017年4月16日 |
星期一 |
2017年4月18日 |
2017年4月16日 |
星期一 |
√ |
|
4 |
1237 |
2017 |
5 |
18 |
2017年5月19日 |
2017年5月17日 |
星期四 |
2017年5月19日 |
2017年5月17日 |
星期四 |
√ |
|
无效等价类测试用例 |
测试结果 |
||||||||||
测试用例 |
覆盖等价类编号 |
输入 |
期望输出 |
实际输出 |
|||||||
year |
month |
day |
下一天 |
上一天 |
星期几 |
下一天 |
上一天 |
星期几 |
|||
1 |
8 |
a |
b |
12.2 |
月份超出范围 |
程序异常 |
× |
||||
2 |
9,3,7 |
1910 |
5 |
15 |
年份超出范围 |
1910年5月16日 |
1910年5月14日 |
null |
× |
||
3 |
10,3,7 |
2052 |
5 |
15 |
年份超出范围 |
2052年5月16日 |
2052年5月14日 |
null |
× |
||
4 |
2,11,7 |
2017 |
0 |
5 |
月份超出范围 |
2017年0月6日 |
2017年0月4日 |
null |
× |
||
5 |
2,12,7 |
2017 |
13 |
1 |
月份超出范围 |
2017年13月2日 |
2017年12月31日 |
null |
× |
||
6 |
2,3,13 |
2017 |
2 |
0 |
日期超出范围 |
2017年2月1日 |
2017年2月-1日 |
null |
× |
||
7 |
2,3,14 |
2017 |
2 |
29 |
输入错误(自定义错误) |
2017年2月30日 |
2017年2月28日 |
星期三 |
× |
||
8 |
2,3,15 |
2008 |
2 |
0 |
日期超出范围 |
2008年2月1日 |
2008年2月-1日 |
null |
× |
||
9 |
2,3,16 |
2008 |
2 |
30 |
输入错误(自定义错误) |
2008年2月31日 |
2008年2月29日 |
null |
× |
||
10 |
2,3,17 |
2017 |
5 |
0 |
日期超出范围 |
2017年5月1日 |
2017年5月-1日 |
星期三 |
× |
||
11 |
2,3,18 |
2017 |
4 |
31 |
输入错误(自定义错误) |
2017年4月32日 |
2017年4月30日 |
星期一 |
× |
||
12 |
2,3,19 |
2017 |
5 |
0 |
日期超出范围 |
2017年5月1日 |
2017年5月-1日 |
星期一 |
× |
||
13 |
2,3,20 |
2017 |
5 |
32 |
日期超出范围 |
2017年5月33日 |
2017年5月31日 |
星期一 |
× |
||
测试结果:不通过!
2.边界值
测试用例 |
输入保留 |
输入 |
期望输出 |
实际输出 |
测试结果 |
||||||
year |
month |
day |
下一天 |
上一天 |
星期 |
下一天 |
上一天 |
星期 |
|||
1 |
年 |
1911 |
1 |
2 |
年份超出范围 |
1911年1月3日 |
1911年1月1日 |
null |
× |
||
2 |
1912 |
1 |
2 |
1912年1月3日 |
1912年1月1日 |
星期二 |
1912年1月3日 |
1912年1月1日 |
null |
× |
|
3 |
1913 |
1 |
2 |
1913年1月3日 |
1913年1月1日 |
星期三 |
1913年1月3日 |
1913年1月1日 |
null |
× |
|
4 |
2000 |
1 |
2 |
2000年1月3日 |
2000年1月1日 |
星期日 |
2000年1月3日 |
2000年1月1日 |
星期日 |
√ |
|
5 |
2049 |
1 |
2 |
2049年1月3日 |
2049年1月1日 |
星期六 |
2049年1月3日 |
2049年1月1日 |
星期六 |
√ |
|
6 |
2050 |
1 |
2 |
2050年1月3日 |
2050年1月1日 |
星期日 |
2050年1月3日 |
2050年1月1日 |
星期日 |
√ |
|
7 |
2051 |
1 |
2 |
年份超出范围 |
2051年1月3日 |
2051年1月1日 |
null |
× |
|||
8 |
月 |
2017 |
0 |
2 |
月份超出范围 |
2017年0月3日 |
2017年0月1日 |
星期日 |
× |
||
9 |
2017 |
1 |
2 |
2017年1月3日 |
2017年1月1日 |
星期一 |
2017年1月3日 |
2017年1月1日 |
星期一 |
√ |
|
10 |
2017 |
2 |
2 |
2017年2月3日 |
2017年2月1日 |
星期四 |
2017年2月3日 |
2017年2月1日 |
星期四 |
√ |
|
11 |
2017 |
11 |
2 |
2017年11月3日 |
2017年11月1日 |
星期四 |
2017年11月3日 |
2017年11月1日 |
星期四 |
√ |
|
12 |
2017 |
12 |
2 |
2017年12月3日 |
2017年12月1日 |
星期六 |
2017年12月3日 |
2017年12月1日 |
星期六 |
√ |
|
13 |
2017 |
13 |
2 |
月份超出范围 |
2017年13月3日 |
2017年13月1日 |
星期日 |
× |
|||
14 |
日 |
2017 |
1 |
0 |
日期超出范围 |
2017年1月1日 |
2017年1月-1日 |
星期六 |
× |
||
15 |
2017 |
1 |
1 |
2017年1月2日 |
2016年12月31日 |
星期日 |
2017年1月2日 |
2016年12月31日 |
星期日 |
√ |
|
16 |
2017 |
1 |
2 |
2017年1月3日 |
2017年1月1日 |
星期一 |
2017年1月3日 |
2017年1月1日 |
星期一 |
√ |
|
17 |
2017 |
1 |
30 |
2017年1月31日 |
2017年1月29日 |
星期一 |
2017年1月31日 |
2017年1月29日 |
星期一 |
√ |
|
18 |
2017 |
1 |
31 |
2017年2月1日 |
2017年1月30日 |
星期二 |
2017年2月1日 |
2017年1月30日 |
星期二 |
√ |
|
19 |
2017 |
1 |
32 |
日期超出范围 |
2017年1月33日 |
2017年1月31日 |
星期三 |
× |
测试结果:不通过!
3.决策表
决策表 |
|||||||
条件 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
1912≤ year ≤2050 |
- |
- |
- |
- |
- |
F |
T |
1≤ month ≤12 |
F |
T |
T |
T |
T |
T |
T |
非闰年2月1<=day<=28 |
- |
F |
- |
- |
- |
T |
T |
闰年2月1<=day<=29 |
- |
- |
F |
- |
- |
T |
T |
小月1<=day<=30 |
- |
- |
|
F |
- |
T |
T |
大月1<=day<=31 |
- |
- |
- |
- |
F |
T |
T |
动作 |
|
|
|
|
|
|
|
月份超出范围 |
√ |
|
|
|
|
|
|
日期超出范围 |
|
√ |
√ |
√ |
√ |
|
|
年份超出范围 |
|
|
|
|
|
√ |
|
计算上/下一天、星期 |
|
|
|
|
|
|
√ |
决策表测试用例 |
||||||||||||
测试用例 |
覆盖等价类编号 |
输入 |
期望输出 |
实际输出 |
测试结果 |
|||||||
year |
month |
day |
下一天 |
上一天 |
星期 |
下一天 |
上一天 |
星期 |
||||
1 |
1 |
2017 |
0 |
5 |
月份超出范围 |
2017年0月6日 |
2017年0月4日 |
null |
× |
|||
2 |
2 |
2017 |
2 |
29 |
日期超出范围 |
2017年2月30日 |
2017年2月28日 |
星期三 |
× |
|||
3 |
3 |
2008 |
2 |
30 |
日期超出范围 |
2008年2月31日 |
2008年2月29日 |
null |
× |
|||
4 |
4 |
2017 |
4 |
31 |
日期超出范围 |
2017年4月32日 |
2017年4月30日 |
星期一 |
× |
|||
5 |
5 |
2017 |
5 |
32 |
日期超出范围 |
2017年5月33日 |
2017年5月31日 |
星期一 |
× |
|||
6 |
6 |
1910 |
5 |
15 |
年份超出范围 |
1910年5月16日 |
1910年5月14日 |
null |
× |
|||
7 |
7 |
2017 |
5 |
18 |
2017年5月19日 |
2017年5月17日 |
星期四 |
2017年5月19日 |
2017年5月17日 |
星期四 |
√ |
|
测试结果:不通过!
4.状态图法
Ip1:输入年
Ip2:输入月
Ip3:输入日
Ip4:点击OK
Ip5:点击Cancel
状态图:
用例 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
软件启动 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
年已输入 |
2 |
2 |
3 |
2 |
|||||||||
月已输入 |
2 |
2 |
2 |
||||||||||
日已输入 |
2 |
2 |
2 |
||||||||||
年月日已输入 |
3 |
3 |
3 |
4 |
4 |
4 |
4 |
2 |
|||||
输出星期,上一天,下一天 |
4 |
4 |
4 |
5 |
5 |
||||||||
运行 |
3 |
3 |
3 |
2 |
2 |
||||||||
退出 |
2 |
3 |
3 |
3 |
3 |
3 |
(三) 测试结论
对于正确输入除了对于边界的1912,1913没有给他计算星期其它测试基本通过,但是没有对不正确输入进行处理,不正确输入包括题目要求和常识要求。
(四)给开发同学的建议
1.将输入框内容放到字符串变量中,利用正则表达式判断输入是否为数字
2.限制题目要求的条件: 条件1 1≤ month ≤12 否则输出,月份超出范围
条件2 1≤ day ≤31 否则输出,日期超出范围
条件3 1912≤ year ≤2050 否则输出:年份超出范围
3.注意闰年与非闰年2月,和大小月相应的日期,设置自定义错误
2、对手机上任意一款音乐软件进行黑盒测试。
1)使用思维导图:(最主要界面测试)
2)根据场景法、状态图法 设计测试用例。
1.场景法
基本流 |
正常播放 |
备选流1 |
点击播放/暂停键 |
备选流2 |
点上一曲 |
备选流3 |
点下一曲 |
备选流4 |
点击播放模式切换 |
备选流5 |
点击加入/取消收藏 |
备选流6 |
点击分享 |
备选流7 |
点击下载 |
备选流8 |
点击查看播放列表 |
备选流9 |
点击搜索词图 |
备选流10 |
睡眠模式 |
备选流11 |
已下载歌曲删除 |
备选流12 |
加入歌单 |
确定场景
场景1-播放完 |
基本流 |
|
场景2-暂停/播放 |
基本流 |
备选流1 |
场景3-上一曲 |
基本流 |
备选流2 |
场景4-下一曲 |
基本流 |
备选流3 |
场景5-播放模式切换 |
基本流 |
备选流4 |
场景6-加入/取消收藏 |
基本流 |
备选流5 |
场景7-分享 |
基本流 |
备选流6 |
场景8-下载 |
基本流 |
备选流7 |
场景9-查看播放列表 |
基本流 |
备选流8 |
场景10-搜索词图 |
基本流 |
备选流9 |
场景11-睡眠模式 |
基本流 |
备选流10 |
场景12-已下载歌曲删除 |
基本流 |
备选流11 |
场景13-加入歌单 |
基本流 |
备选流12 |
测试用例设计
ID |
场景 |
按钮 |
预期结果 |
实际结果 |
1 |
场景1-播放完 |
点击播放 |
播放完成,自动下一首 |
播放完成,自动下一首 |
2 |
场景2-暂停 |
点击暂停 |
播放暂停 |
播放暂停 |
3 |
场景3-上一曲 |
点击上一曲 |
播放上一曲 |
播放上一曲 |
4 |
场景4-下一曲 |
点击下一曲 |
播放下一曲 |
播放下一曲 |
5 |
场景5-播放模式切换 |
点击播放模式切换 |
切换播放模式 |
切换播放模式 |
6 |
场景6-加入/取消收藏 |
点击加入/取消收藏 |
加入/取消收藏 |
大量正常加入/取消收藏,但出现一次(“一见钟情”歌曲)加入收藏后再点击无法取消,退出这个页面,重新进去又可以了 |
场景7-分享 |
点击分享 |
分享 |
分享 |
|
场景8-下载 |
点击下载 |
下载 |
下载 |
|
场景9-查看播放列表 |
点击查看播放列表 |
查看播放列表 |
查看播放列表 |
|
场景10-搜索词图 |
点击搜索词图 |
搜索词图 |
大量实验正常,出现一次搜索词图不匹配(搜索“一个人”的词图,出现“爱不单行”词图) |
|
场景11-睡眠模式 |
点击睡眠模式 |
定点时间退出 |
定点时间退出 |
|
场景12-已下载歌曲删除 |
点击已下载歌曲删除 |
成功删除歌曲 |
成功删除歌曲 |
|
场景13-加入歌单 |
点击加入歌单 |
成功加入相应歌单 |
成功加入相应歌单 |
2.状态图法:
Ip1:点击播放/暂停键
Ip2:点上一曲
Ip3:点下一曲
Ip4:点击播放模式切换
Ip5:点击加入/取消收藏
Ip6:点击分享
Ip7:点击下载
Ip8:点击查看播放列表
Ip9:点击搜索词图
Ip10:睡眠模式
Ip11:已下载歌曲删除
Ip12:加入歌单
用例 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
播放界面 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
播放/暂停歌曲 |
2 |
|||||||||||
上一曲 |
2 |
|||||||||||
下一曲 |
2 |
|||||||||||
播放模式切换 |
2 |
|||||||||||
加入/取消收藏 |
2 |
|||||||||||
分享 |
2 |
|||||||||||
下载 |
2 |
|||||||||||
查看播放列表 |
2 |
|||||||||||
搜索词图 |
2 |
|||||||||||
睡眠模式 |
2 |
|||||||||||
已下载歌曲删除 |
2 |
|||||||||||
加入歌单 |
2 |
3)测试小结
I音乐软件,大部分测试通过,只有偶尔会出现错误情况,但重新进入就可以了,猜测是系统的卡顿,反应比较慢。
时间: 2024-11-07 13:44:20