一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。(作业若雷同,后上传者判定0分)
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
2、对手机上任意一款音乐软件进行黑盒测试。
写出测试用例表、执行情况,测试小结。
测试链接:http://www.cnblogs.com/HSing1225/p/6798620.html
四、实验步骤
1.对被测程序进行黑盒测试
1.1)等价类划分
输入条件 | 有效等价类 | 无效等价类 |
耳机销售量 | headphone>=0(1) | 无输入(7)非数字字符(含小数点、负号等)(8) |
手机壳销售量 | shell>=0 (2) | 无输入(9)非数字字符(含小数点、负号等)(10) |
手机贴膜销售量 | protector>=0 (3) | 无输入(11)非数字字符(含小数点、负号等)(12) |
销售额 | 0<=sales<1000(4) 1000<=sales<=1800(5) sales>1800(6) |
s<0 (8) |
1.2)测试用例
编号 | 耳机 | 手机壳 | 手机贴膜 | 总销售额 | 覆盖等价类编号 | 期望输出 | 实际输出 | 是否通过 |
1 | 0 | 2 | 1 | 2.8 | 1 2 3 4 | 2.8 手机壳,2 | 2.8000000003 手机壳 2 | √ |
2 | 1 | 100 | 21 | 137.2 | 1 2 3 5 | 137.2 手机壳 99 | 137.2 手机壳 99 | √ |
3 | 10 | 80 | 100 | 340.0 | 1 2 3 6 | 340.0 三种配件一样 90 | 340.0 耳机 90 | × |
4 | Null | 10 | 1 | 输入有误 | 7 2 3 | 输入有误 | 程序崩溃 | × |
5 | -2 | 4 | 2 | 输入有误 | 8 2 3 | 输入有误 | 输入有误 | √ |
6 | 2 | Null | 2 | 输入有误 | 1 9 3 | 输入有误 | 程序崩溃 | × |
7 | 3 | 3.7 | 3 | 输入有误 | 1 10 3 | 输入有误 | 输入有误 | √ |
8 | 4 | 4 | Null | 输入有误 | 1 2 11 | 输入有误 | 程序崩溃 | × |
9 | 15 | 1 | %¥… | 输入有误 | 1 2 12 | 输入有误 | 输入有误 | √ |
2)边界值
编号 | 耳机 | 手机壳 | 手机贴膜 | 总销售额 | 期望输出 | 实际输出 | 是否通过 |
1 | 0 | 0 | 0 | 0.0 | 0.0 三种配件相同 0 | 0 手机壳0 | × |
2 | 1 | 1 | 1 | 9.8 | 9.8 手机壳 0 | 9.8 手机壳 0 | √ |
3 | 2147483647 | 1 | 1 | 171798691778 | 34359738215.6 耳机 2147483646 | -6.2 手机壳 2147483646 | × |
4 | 0 | 2147483647 | 0 | 21474836470 | 429496589.4 手机壳 2147483647 | -1.0 耳机 2147483647 | × |
5 | 0 | 0 | 2147483647 | 17179869176 | 3435973695.2 贴膜 2147483647 | -0.8 耳机 2147483647 | × |
6 | -1 | -1 | -1 | 输入有误 | 输入有误 | 输入有误 | √ |
3.1)决策表
| 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 |
|
|
3.2)测试用例
编号 | 耳机 | 手机壳 | 贴膜 | 预期结果 | 实际结果 | 是否通过 |
1 | 0.0 | -1 | s | 输入有误 | 输入有误 | √ |
2 | 5 | 12 | 21 | 68.8 耳机 16 | 68.8 耳机 16 | √ |
3 | 20 | 30 | 40 | 304.0 耳机 20 | 304.0 耳机 20 | √ |
4 | 50 | 60 | 50 | 860.0 耳机 10 | 860.0 耳机 10 | √ |
4)测试结论
基本通过测试,但是在任意输入值为空时程序将会崩溃,还有边界值的取值将会影响得到的结果,建议把输出结果调为保留2位小数。
5)给开发同学的建议
①当三种配件的销售额有两种或三者相同时,输出只有一种配件,建议修改。
②建议在输入时对输入为空的情况做出额外判断,防止程序崩溃。
③用long类型来计算总销售额,这样可以避免输入值在int范围内而总销售额超过int范围时计算的错误。
2、对手机上任意一款音乐软件进行黑盒测试。
要求:1)使用思维导图
2)根据场景法、状态图法 设计测试用例。
3)附加题:如有可能尝试用正交实验法、组合测试对测试用例进行简化。
写出测试用例表、执行情况,测试小结。
1)思维导图
2.1)对播放音乐功能的测试
基本流:选择首音乐并播放
备选流1:暂停播放
备选流2:继续播放
备选流3.1:随机播放下一首歌曲
备选流3.2:顺序播放下一首歌曲
备选流3.3:循环播放下一首歌曲
备选流3.4:单曲循环某一首歌曲
备选流4.1:随机播放上一首歌曲
备选流4.2:顺序播放上一首歌曲
备选流4.3:循环播放上一首歌曲
备选流5:显示歌词
备选流6:显示歌曲列表
2.2)状态图
2.3)测试用例
编号 | 场景/条件 | 备选流 | 预期结果 | 实际结果 | 是否通过 |
1 | 选择音乐并播放 | 基本流 | 播放音乐 | 播放音乐 | √ |
2 | 暂停音乐 | 备选流1 | 音乐暂停 | 音乐暂停 | √ |
3 | 在音乐暂停后,继续播放音乐 | 备选流2 | 音乐继续 | 音乐继续 | √ |
4 | 随机播放状态下点击下一首歌曲 | 备选流3.1 | 随机播放下一首歌 | 随机播放下一首歌 | √ |
5 | 顺序播放状态下点击下一首歌曲 | 备选流3.2 | 顺序播放下一首歌 | 顺序播放下一首歌 | √ |
6 | 循环播放状态下点击下一首歌曲 | 备选流3.3 | 循环播放下一首歌 | 循环播放下一首歌 | √ |
7 | 单曲循环状态下点击某歌曲 | 备选流3.4 | 循环播放某歌曲 | 循环播放某歌曲 | √ |
8 | 随机播放状态下点击上一首歌曲 | 备选流4.1 | 随机播放点过的歌 | 随机播放点过的歌 | √ |
9 | 顺序播放状态下点击上一首歌曲 | 备选流4.2 | 顺序播放上一首歌 | 顺序播放上一首歌 | √ |
10 | 循环播放状态下点击上一首歌曲 | 备选流4.3 | 循环播放上一首歌 | 循环播放上一首歌 | √ |
11 | 显示歌词 | 备选流5 | 显示歌词 | 显示歌词 | √ |
12 | 显示歌曲列表 | 备选流6 | 显示歌曲列表 | 显示歌曲列表 | √ |
测试小结:由于软件功能太多,包含会员功能,搜索功能以及其他各种复杂功能的测试,故仅选取了播放功能作为测试点测试。而测试结果,由于是上线很久的一款音乐APP了,自然没有问题。