一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。(作业若雷同,后上传者判定0分)
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
要求写出测试用例表、执行情况和测试小结。
2、对手机上任意一款音乐软件进行黑盒测试。
要求:1)使用思维导图
2)根据场景法、状态图法 设计测试用例。
3)附加题:如有可能尝试用正交实验法、组合测试对测试用例进行简化。
写出测试用例表、执行情况,测试小结。
四、实验过程
对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结
等价类测试
输入的条件 | 有效等价类 | 无效等价类 |
耳机的销售量 | headphone为int数据类型 && headphone>-1(1) | headphone存在非整数字符 || headphone<0 || headphone=null(4) |
手机壳的销售量 | shell为int数据类型 && shell>-1(2) |
shell存在非整数字符 || shell<0 || shell=null(5) |
手机贴膜销售量 | protector为int数据类型 && protector>=0(3) |
protector存在非整数字符 || protector<0 || protector=null(6) |
有效等价
耳机 | 手机壳 | 手机贴膜 | 覆盖等价类 | 预期结果 | 实际结果 |
3 | 3 | 3 | 1,2,3 | 29.4 | 29.4 |
无效等价
耳机 | 手机壳 | 手机贴膜 | 覆盖等价类 | 预期结果 | 实际结果 |
k | 3 | 3 | 4 | 报错 | 报错 |
-1 | 3 | 3 | 4 | 报错 | -2.6 |
3 | 3 | 4 | 报错 | 报错 | |
3 | i | 4 | 5 | 报错 | 报错 |
4 | -1 | 4 | 5 | 报错 | 34.2 |
4 | 4 | 5 | 报错 | 报错 | |
5 | 5 | p | 6 | 报错 | 报错 |
5 | 5 | -3 | 6 | 报错 | 42.6 |
5 | 5 | 6 | 报错 | 报错 |
决策表
1 | 2 | 3 | 4 | ||
条件 | S1:手机,手机壳,贴膜数量有效 | F | T | T | T |
S2:<1000 | T | F | F | ||
S3:1000~1800 | F | T | F | ||
S4:>1800 | F | F | T | ||
结果 | Y1:佣金10% | T | |||
Y2:佣金15% | T | ||||
Y3:佣金20% | T | ||||
Y4:销售量无效 | T |
边界值
测试序号 |
耳机 |
手机壳 |
手机膜 |
覆盖范围 |
预期结果 |
实际结果 |
||||
佣金 |
销售额最高的配件 |
销售量最多最少差量 |
佣金 |
销售额最高的配件 |
销售量最多最少差量 |
|||||
1 |
10 |
10 |
10 |
1.2.3 |
98 |
耳机 |
0 |
98 |
耳机 手机壳 贴膜 耳机 |
0 |
2 |
-1 |
10 |
10 |
4.2.3 |
输入有误,请重新输入 |
10 |
手机壳 贴膜 |
11 |
||
3 |
-1 |
-1 |
-5 |
4,5,6 |
输入有误,请重新输入
|
-13 |
耳机 手机壳 |
4 |
测试结论:
发现到了很明显的数据判断错误,应该是没有写对负数的判断
另外比较的是销售额,这里却是判断销售数,可能是题意理解错误
给开发同学的建议:
将上述的负数判断补充,并且将销售额比较的函数重写成符合要求的
对手机上某一款音乐播放app测试
这里选择网易云音乐作为测试app
在没打开网易云音乐的情况下用自己平常的想法先画的思维导图
1.使用场景法设计测试用例:
(1)用户登录:
基本流:登录网易云音乐,播放音乐,关闭软件
备选流1:账号不存在或者密码错误
备选流2:没有输入账号或者密码
根据以上的做出的场景表:
场景1:成功登陆 |
基本流 |
|
场景2:输入一个不存在的账号 |
基本流 |
备选流1 |
场景3:密码错误 |
基本流 |
备选流1 |
场景4:没有输入用户名或密码 |
基本流 |
备选流2 |
测试用例测试:(T:正确输入 F:错误输入 E:空输入)
编号 |
场景/条件 |
账号 |
密码 |
预期结果 |
实际输出 |
1 |
场景1:成功登陆 |
T |
T |
成功登陆 |
成功登陆 |
2 |
场景2:输入不存在账号 |
F |
- |
输入的用户名不存在 或密码错误 |
输入的用户名不存在 或密码错误 |
3 |
场景3:账号正确,密码错误 |
T |
F |
输入的用户名不存在 或密码错误 |
输入的用户名不存在 或密码错误 |
4 |
场景4:没有输入用户名或密码 |
E |
- |
没有输入用户名 |
没有输入用户名 |
5 |
场景4:没有输入用户名或密码 |
- |
E |
没有输入密码 |
没有输入密码 |
(2)音乐播放:
基本流:播放音乐,显示暂停音乐键
备选流1:播放上一首音乐
备选流2:播放下一首音乐
备选流3:暂停播放音乐,显示播放音乐键
备选流4:切换播放模式,播放顺序依次显示为:顺序播放--列表循环--单曲循环--随机播放--顺序播放
根据以上确定的场景:
场景1:点击播放按钮 |
基本流 |
|
场景2:点击下一首按钮 |
基本流 |
备选流1 |
场景3:点击上一首按钮 |
基本流 |
备选流2 |
场景4:点击暂停按钮 |
基本流 |
备选流3 |
场景5:点击切换音乐播放顺序 |
基本流 |
备选流4 |
测试用例设计:
编号 |
场景/条件 |
预期结果 |
实际结果 |
1 |
场景1:点击播放按钮 |
播放音乐,并且按钮切换为暂停音乐 |
播放音乐,并且按钮切换为暂停音乐 |
2 |
场景2:点击下一首按钮 |
播放下一首 |
播放下一首 |
3 |
场景3:点击上一首按钮 |
播放上一首 |
播放上一首 |
4 |
场景4:点击暂停按钮 |
暂停音乐,并且按钮切换为播放音乐 |
暂停音乐,并且按钮切换为播放音乐 |
5 |
场景5:点击切换播放顺序 |
当前默认为顺序播放,切换为列表循环 |
当前默认为顺序播放,切换为列表循环 |
2.使用状态图法:
用户登录界面使用状态图法设计测试用例:
输入项:
输入代号 | 输入事件 |
ip1 | 输入用户名 |
ip2 | 输入密码 |
ip3 | 按下登录按钮 |
ip4 | 按下退出按钮 |
状态图:
根据上面状态图设计的测试用例:(数字表示状态顺序)
状态/用例 | 用例1 | 用例2 | 用例3 | 用例4 | 用例5 | 用例6 | 用例7 | 用例8 | 用例9 |
登录用例 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
用户名已输入 | 2 | 2 | 2 | 2 3 | |||||
密码已输入 | 2 | 2 | 2 | 2 3 | |||||
用户名/密码已输入 | 3 | 3 | 3 | 3 | 4 | 4 | |||
登录成功 | 4 | 4 | 5 | 5 | |||||
退出 | 2 | 4 | 4 | 3 | 3 |
测试结果
编号 |
用例 |
预期结果 |
实际输出 |
1 |
用例1 |
退出 |
退出 |
2 |
用例2 |
成功登陆 |
成功登陆 |
3 |
用例3 |
成功登陆 |
成功登陆 |
4 |
用例4 |
退出 |
退出 |
5 |
用例5 |
退出 |
退出 |
6 |
用例6 |
退出 |
退出 |
7 |
用例7 |
退出 |
退出 |
8 |
用例8 |
成功登录 |
成功登录 |
9 |
用例9 |
成功登录 |
成功登录 |
执行情况总结:
就目前对手机上这款音乐软件的简单功能测试基本是符合预期,但是登录界面要是错误输入一般是报错且推出各种解决方案的弹窗。并且,目前的测试用例只是最基本的功能测试,音乐搜索,喜好相关,电台等复杂功能并没有进行测试
测试小结:
关于测试用例上确实功能设计得较少,也实际上并没有覆盖其他大多的实用功能,但是一旦考虑到其他的一些复杂功能,测试的复杂程度以及测试用例的设计上的难度会有非常大的提升,这也是之前并没有使用过这款软件就凭印象设计这个思维导图的原因。
不过要是考虑到的功能过于复杂,也无法在期限内完成这次报告,虽然觉得自己有明显的不足,但这次还是有不少的收获。