实验三+033+王泓泽
一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(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了,自然没有问题。