一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
要求写出测试用例表、执行情况和测试小结。
2、对手机上任意一款音乐软件进行黑盒测试。
要求:1)使用思维导图
2)根据场景法、状态图法 设计测试用例。
3)附加题:如有可能尝试用正交实验法、组合测试对测试用例进行简化。
写出测试用例表、执行情况,测试小结。
1.对被测程序进行黑盒测试:
等价类
输入等价类 | 有效等价类 | 无效等价类 |
耳机的取值范围 | 0<=headphone(1) | headphone<0(7) |
手机壳的取值范围 | 0<=shell(2) | headphone<0(8) |
手机膜的取值范围 | 0<=protector(3) | Protector<0(9) |
佣金计算的分类 | 0<=sale<1000(4) | sale<0(10) |
有效等价类的测试用例:
编号 | headphone | shell | protector | 覆盖范围 | 预期结果 | 实际结果 |
1 | 1 | 1 | 1 | (1)(2)(3) | 有效输入 | √ |
2 | 0 | 0 | 100 | (4) | 佣金为10% | √ |
3 | 0 | 100 | 6 | (5) | 佣金为15% | √ |
4 | 100 | 0 | 0 | (6) | 佣金为20% | × |
无效等价类测试用例:
编号 | headphone | shell | protector | 覆盖范围 | 预期结果 | 实际结果 |
1 | -1 | 1 | 1 | (7) | 无效输入 | √ |
2 | 0 | -1 | 100 | (8) | 无效输入 | √ |
3 | 0 | 1200 | -1 | (9) | 无效输入 | √ |
4 | -1 | -1 | -1 | (10) | 无效输入 | √ |
边界值
headphone取值为{0,1}
shell取值为{0,1}
protector取值为{0,1}
测试用例为:
编号 | headphone | shell | protector | 预期结果 | 实际结果 |
1 | 0 | 6 | 6 | 10.8 | √ |
2 | 1 | 6 | 6 | 18.8 | √ |
3 | 6 | 0 | 6 | 52.8 | √ |
4 | 6 | 1 | 6 | 53.8 | √ |
5 | 6 | 6 | 0 | 54.0 | √ |
6 | 6 | 6 | 1 | 54.8 | √ |
7 | 6 | 6 | 6 | 58.8 | √ |
决策表
选项 规则 | 1-8 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
C1:headphone,shell,protector是否有效 | N | Y | Y | Y | Y | Y | Y | Y |
C2:0<=sale<1000 | - | N | Y | N | N | Y | N | Y |
C3: 1000<=sale<1800 | - | N | N | Y | N | Y | Y | Y |
C4:1800<=sale | - | N | N | N | Y | N | Y | Y |
动作: |
|
|
|
|
|
|
|
|
输入无效 | √ |
|
|
|
|
|
|
|
佣金10% |
|
| √ |
|
|
|
|
|
佣金15% |
|
|
| √ |
|
|
|
|
佣金20% |
|
|
|
| √ |
|
|
|
不可能 |
| √ |
|
|
| √ | √ | √ |
测试用例
编号 | headphone | shell | protector | 预期结果 | 实际结果 |
1 | -1 | -1 | -1 | 输入无效 | √ |
2 | 10 | 1 | 1 | 81.8 | √ |
3 | 10 | 20 | 1 | 151.2 | √ |
4 | 10 | 100 | 0 | 360 | × |
执行情况:当销售额大于1800时,未通过。
测试小结:程序存在缺陷,需要继续改进。
2、对手机上网易云音乐进行黑盒测试
1)使用思维导图
2)根据场景法、状态图法 设计测试用例。
场景法:
①播放音乐
基本流:正常播放音乐
备选流1:暂停音乐播放
备选流2:停止音乐播放
备选流3:继续播放音乐
备选流4:离开app界面,音乐继续在后台播放
备选流5:播放下一首歌曲
备选流6:播放上一首歌曲
备选流7:单曲循环
备选流8:随机播放歌曲
备选流9:顺序播放歌曲
编号 | 场景/条件 | 备选流 | 预期结果 | 实际结果 |
1 | 用户选择音乐 | 基本流 | 播放音乐 | √ |
2 | 用户选择暂停音乐 | 备选流1 | 音乐暂停 | √ |
3 | 用户选择停止音乐 | 备选流2 | 音乐停止 | √ |
4 | 用户在音乐暂停后,选择继续播放音乐 | 备选流3 | 音乐继续播放 | √ |
5 | 用户回到手机主界面,app隐藏 | 备选流4 | 音乐继续播放 | √ |
6 | 用户选择播放上一首歌 | 备选流5 | 播放上一首歌曲 | √ |
7 | 用户选择播放下一首歌 | 备选流6 | 播放下一首歌曲 | √ |
8 | 用户选择单曲循环 | 备选流7 | 音乐单曲循环 | √ |
9 | 用户选择随机播放歌曲 | 备选流8 | 音乐随机播放 | √ |
10 | 用户选择顺序播放歌曲 | 备选流9 | 音乐按顺序播放 | √ |
② MV播放
基本流:MV以小屏幕的方式播放音乐
备选流1:MV以大屏幕播放
备选流2:MV暂停播放
备选流3:MV继续播放
备选流4:MV停止播放
备选流5:用户离开当前界面,MV暂停
测试用例
编号 | 场景/条件 | 备选流 | 预期结果 | 实际结果 | |
1 | 用户点击播放MV | 基本流 | 播放MV | √ | |
2 | 用户选择大屏幕播放MV | 备选流1 | 大屏幕播放MV | √ | |
3 | 用户选择暂停MV | 备选流2 | MV暂停 | √ | |
4 | 用户继续播放MV | 备选流3 | MV继续播放 | √ | |
5 | 用户停止播放MV | 备选流4 | MV停止播放 | √ | |
6 | 用户回到手机主界面,MV暂停 | 备选流5 | MV暂停播放 |
|
③用户登录
基本流:用户输入正确的用户名,密码登录
备选流1:用户名错误
备选流2:用户名为空
备选流3:密码为空
备选流4:密码错误
测试用例
编号 | 场景/条件 | 备选流 | 预期结果 | 实际结果 |
1 | 用户输入正确的用户名,密码 | 基本流 | 登录到个人中心 | √ |
2 | 用户名错误 | 备选流1 | 提示用户名错误 | √ |
3 | 用户名为空 | 备选流2 | 提示用户名为空 | √ |
4 | 密码为空 | 备选流3 | 提示密码为空 | √ |
5 | 密码错误 | 备选流4 | 提示密码错误 | √ |
④内容更新
基本流:有网状态下,正常加载内容
备选流1:无网络状态下,不显示内容
备选流2:从有网络到网络,只显示当前页面的内容
备选流3:从无网路到有网络,要求刷新
编号 | 场景/条件 | 备选流 | 预期结果 | 实际结果 |
1 | 用户打开网络 | 基本流 | 正常加载内容 | √ |
2 | 用户关闭网络 | 备选流1 | 不显示内容 | √ |
3 | 用户在有网络下关闭网络 | 备选流2 | 只显示当前页面的内容 | √ |
4 | 用户在无网络下打开网络 | 备选流3 | 要求刷新 | √ |
状态图:
执行情况:
对网易云音乐进行黑盒测试,测试结果都符合预期值。
测试小结:
通过本次测试,我更加深刻地感受到网易云音乐的优秀,他对各个环节的把控都做的非常的好。音乐播放的方式,效果都令人满意。界面间的跳转很灵活,在无网络的状态下也能将在有网络时加载的内容进行缓存,不会在无网络状态下,不显示任何内容。而且,在无网络状态下,刚刚听过的几首歌曲也能够继续播放,网易云音乐的缓存机制做的非常的好。本次实验对状态图的绘制还有待提高。