实验三+118+陈元可
一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。(作业若雷同,后上传者判定0分)
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
要求写出测试用例表、执行情况和测试小结。
2、对手机上任意一款音乐软件进行黑盒测试。
要求:1)使用思维导图
2)根据场景法、状态图法 设计测试用例。
3)附加题:如有可能尝试用正交实验法、组合测试对测试用例进行简化。
写出测试用例表、执行情况,测试小结。
四、实验过程
1.(1)对被测程序进行黑盒测试用例设计
等价类划分
输入条件 |
三个数据 |
有效等价类 |
无效等价类 |
abc均为整数(1) |
a为非整数 (14) |
||
b为非整数 (15) |
|||
c为非整数 (16) |
|||
ab为非整数 (17) |
|||
ac为非整数 (18) |
|||
bc为非整数 (19) |
|||
abc为非整数 (20) |
|||
abc取值均在(0~100)(2) |
a<0 (21) |
||
a>100 (22) |
|||
b<0 (23) |
|||
b>100 (24) |
|||
c<0 (25) |
|||
c>100 (26) |
|||
输入了三个数(3) |
a为空 (27) |
||
b为空 (28) |
|||
c为空 (29) |
|||
ab为空 (30) |
|||
ac为空 (31) |
|||
bc为空 (32) |
|||
abc均为空 (33) |
|||
输出条件 |
一般三角形 |
a+b>c (4) |
a+b=c (34) |
a+b<c (35) |
|||
a+c>b (5) |
a+c=b (36) |
||
a+c<b (37) |
|||
b+c>a (6) |
b+c=a (38) |
||
b+c<a (39) |
|||
等腰三角形 |
a=b (7) |
|
|
a=c (8) |
|
||
b=c (9) |
|
||
等边三角形 |
a=b=c (10) |
|
|
直角三角形 |
a2+b2=c2 (11) |
|
|
a2+c2=b2 (12) |
|
||
b2+c2=a2 (13) |
|
有效等价类覆盖测试用例 |
|||||||||||
编号 |
输入 |
覆盖等价类 |
预期输出 |
实际输出 |
结果 |
||||||
a |
b |
c |
三角形类型 |
周长 |
面积 |
三角形类型 |
周长 |
面积 |
|||
1 |
5 |
5 |
8 |
1~6,7 |
等腰三角形 |
18 |
12.00 |
等腰三角形 |
18 |
12.0 |
通过 |
2 |
5 |
6 |
5 |
1~6,8 |
等腰三角形 |
16 |
12.00 |
等腰三角形 |
16 |
12.0 |
通过 |
3 |
4 |
4 |
4 |
1~6,9 |
等腰三角形 |
12 |
6.93 |
等腰三角形 |
12 |
6.93 |
通过 |
4 |
5 |
5 |
5 |
1~6,10 |
等边三角形 |
15 |
10.83 |
等边三角形 |
15 |
10.83 |
通过 |
5 |
3 |
4 |
5 |
1~6,11 |
直角三角形 |
12 |
6.00 |
直角三角形 |
12 |
6.0 |
通过 |
6 |
6 |
10 |
8 |
1~6,12 |
直角三角形 |
24 |
24.00 |
直角三角形 |
24 |
24.0 |
通过 |
7 |
13 |
12 |
5 |
1~6,13 |
直角三角形 |
30 |
30.00 |
直角三角形 |
30 |
30.0 |
通过 |
无效等价类覆盖测试用例 |
|||||||||||
编号 |
输入 |
覆盖等价类 |
预期输出 |
实际输出 |
结果 |
||||||
a |
b |
c |
三角形类型 |
周长 |
面积 |
三角形类型 |
周长 |
面积 |
|||
1 |
a |
1 |
1 |
14 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
2 |
1 |
b |
2 |
15 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
3 |
3 |
4 |
c |
16 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
4 |
2.5 |
0.2 |
7 |
17 |
输入有误,请重新输入! |
|
|
输入有误,请重新输入! |
|
|
通过 |
5 |
1.2 |
11 |
3.2 |
18 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
6 |
13 |
1.3 |
0.2 |
19 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
7 |
0.7 |
3.3 |
6.3 |
20 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
8 |
-1 |
5 |
5 |
21 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
9 |
111 |
7 |
5 |
22 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
10 |
14 |
-2 |
9 |
23 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
11 |
9 |
222 |
14 |
24 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
12 |
45 |
45 |
-3 |
25 |
输入有误,请重新输入 |
|
|
输入格式错误,请输入整数! |
|
|
通过 |
13 |
33 |
33 |
333 |
26 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
14 |
|
4 |
5 |
27 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
15 |
7 |
|
8 |
28 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
16 |
6 |
9 |
|
29 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
17 |
|
|
77 |
30 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
18 |
|
88 |
|
31 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
19 |
99 |
|
|
32 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
21 |
|
|
|
33 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
22 |
1 |
1 |
2 |
34 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
23 |
1 |
1 |
3 |
35 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
24 |
2 |
6 |
4 |
36 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
25 |
1 |
6 |
1 |
37 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
26 |
9 |
2 |
8 |
38 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
27 |
9 |
2 |
6 |
39 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
边界值分析
边界值覆盖测试用例 |
||||||||||
编号 |
输入 |
预期输出 |
实际输出 |
结果 |
||||||
a |
b |
c |
三角形类型 |
周长 |
面积 |
三角形类型 |
周长 |
面积 |
||
1 |
2 |
50 |
50 |
等腰三角形 |
102 |
49.99 |
等腰三角形 |
102 |
49.99 |
通过 |
2 |
1 |
50 |
50 |
等腰三角形 |
101 |
25.00 |
等腰三角形 |
101 |
25.0 |
通过 |
3 |
0 |
50 |
50 |
边的值不在范围内 |
|
|
边的值不在范围内 |
0 |
0.0 |
通过 |
4 |
-1 |
50 |
50 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
0 |
0.0 |
通过 |
5 |
-2 |
50 |
50 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
0 |
0.0 |
通过 |
6 |
98 |
50 |
50 |
等腰三角形 |
198 |
487.54 |
等腰三角形 |
198 |
487.54 |
通过 |
7 |
99 |
50 |
50 |
等腰三角形 |
199 |
349.14 |
等腰三角形 |
199 |
349.14 |
通过 |
8 |
100 |
50 |
50 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
9 |
101 |
50 |
50 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
10 |
102 |
50 |
50 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
11 |
50 |
2 |
50 |
等腰三角形 |
102 |
49.99 |
等腰三角形 |
102 |
49.99 |
通过 |
12 |
50 |
1 |
50 |
等腰三角形 |
101 |
25.00 |
等腰三角形 |
101 |
25.00 |
通过 |
13 |
50 |
0 |
50 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
14 |
50 |
-1 |
50 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
15 |
50 |
-2 |
50 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
16 |
50 |
98 |
50 |
等腰三角形 |
198 |
487.54 |
等腰三角形 |
198 |
487.54 |
通过 |
17 |
50 |
99 |
50 |
等腰三角形 |
199 |
349.14 |
等腰三角形 |
199 |
349.14 |
通过 |
18 |
50 |
100 |
50 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
19 |
50 |
101 |
50 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
20 |
50 |
102 |
50 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
21 |
50 |
50 |
2 |
等腰三角形 |
102 |
49.99 |
等腰三角形 |
102 |
49.99 |
通过 |
22 |
50 |
50 |
1 |
等腰三角形 |
101 |
25.00 |
等腰三角形 |
101 |
25.0 |
通过 |
23 |
50 |
50 |
0 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
24 |
50 |
50 |
-1 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
25 |
50 |
50 |
-2 |
输入有误,请重新输入 |
|
|
输入有误,请重新输入 |
|
|
通过 |
26 |
50 |
50 |
98 |
等腰三角形 |
198 |
487.54 |
等腰三角形 |
198 |
487.54 |
通过 |
27 |
50 |
50 |
99 |
等腰三角形 |
199 |
349.14 |
等腰三角形 |
199 |
349.14 |
通过 |
28 |
50 |
50 |
100 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
29 |
50 |
50 |
101 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
30 |
50 |
50 |
102 |
边的值不在范围内 |
|
|
边的值不在范围内 |
|
|
通过 |
决策表法
决策表 |
||||||||||||||||||
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
a+b>c |
F |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
a+c>b |
— |
F |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
b+c>a |
— |
— |
F |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
a=b |
— |
— |
— |
F |
T |
F |
F |
T |
T |
T |
F |
F |
F |
F |
— |
— |
— |
— |
a=c |
— |
— |
— |
F |
F |
T |
F |
T |
F |
T |
T |
F |
F |
F |
— |
— |
— |
— |
b=c |
— |
— |
— |
F |
F |
F |
T |
T |
T |
F |
T |
F |
F |
F |
— |
— |
— |
— |
a2+b2=c2 |
— |
— |
— |
F |
F |
F |
F |
F |
— |
— |
— |
T |
F |
F |
T |
T |
F |
T |
a2+c2=b2 |
— |
— |
— |
F |
F |
F |
F |
F |
— |
— |
— |
F |
T |
F |
T |
F |
T |
T |
b2+c2=a2 |
— |
— |
— |
F |
F |
F |
F |
F |
— |
— |
— |
F |
F |
T |
F |
T |
T |
T |
等腰三角形 |
|
|
|
|
√ |
√ |
√ |
|
|
|
|
|
|
|
|
|
|
|
等边三角形 |
|
|
|
|
|
|
|
√ |
|
|
|
|
|
|
|
|
|
|
一般三角形 |
|
|
|
√ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
直角三角形 |
|
|
|
|
|
|
|
|
|
|
|
√ |
√ |
√ |
|
|
|
|
不构成三角形 |
√ |
√ |
√ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
不可能 |
|
|
|
|
|
|
|
|
√ |
√ |
√ |
|
|
|
√ |
√ |
√ |
√ |
决策表测试用例 |
||||||||||
编号 |
输入 |
预期输出 |
实际输出 |
结果 |
||||||
a |
b |
c |
三角形类型 |
周长 |
面积 |
三角形类型 |
周长 |
面积 |
||
1 |
1 |
2 |
3 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
2 |
1 |
3 |
2 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
3 |
3 |
1 |
2 |
不构成三角形 |
|
|
不构成三角形 |
|
|
通过 |
4 |
2 |
4 |
5 |
一般三角形 |
11 |
3.8 |
一般三角形 |
11 |
3.8 |
通过 |
5 |
5 |
5 |
6 |
等腰三角形 |
16 |
12.00 |
等腰三角形 |
16 |
12.0 |
通过 |
6 |
5 |
7 |
5 |
等腰三角形 |
17 |
12.5 |
等腰三角形 |
19 |
12.5 |
通过 |
7 |
7 |
8 |
8 |
等腰三角形 |
23 |
25.18 |
等腰三角形 |
|
25.18 |
通过 |
8 |
1 |
1 |
1 |
等边三角形 |
3 |
0.43 |
等边三角形 |
3 |
0.43 |
通过 |
9 |
3 |
4 |
5 |
直角三角形 |
12 |
6.00 |
直角三角形 |
12 |
6.0 |
通过 |
10 |
6 |
10 |
8 |
直角三角形 |
24 |
24.00 |
直角三角形 |
24 |
24.0 |
通过 |
11 |
13 |
12 |
5 |
直角三角形 |
30 |
30.00 |
直角三角形 |
30 |
30.0 |
通过 |
状态图法:
Ip1:输入边长a
Ip2:输入边长b
Ip3:输入边长c
Ip4:按下“OK”按钮
Ip5:按下“Cancel”按钮
测试小结:
该三角形判定程序符合软件需求。
运用了三种不同的黑盒测试方法,相对于之前的白盒测试,可以直接测试输入和输出,不用看中间代码。但是由于本程序相对简单,对比白盒测试更加的繁琐,需要做的测试用例多。
2.测试手机上的音乐软件
被测试app为网易云音乐
(1)思维导图
(2)场景法测试
1.播放音乐
基本流:正常播放音乐
备选流1:暂停音乐播放
备选流2:播放上一首歌曲
备选流3:播放下一首歌曲
备选流4:离开app界面,音乐继续在后台播放
备选流5:循环播放歌曲
备选流6:随机播放歌曲
备选流7:顺序播放歌曲
编号 |
场景/条件 |
备选流 |
预期结果 |
实际结果 |
1 |
用户选择音乐 |
基本流 |
播放音乐 |
播放音乐 |
2 |
用户选择暂停音乐 |
备选流1 |
音乐暂停 |
音乐暂停 |
3 |
用户选择播放上一首歌 |
备选流2 |
播放上一首歌曲 |
播放上一首歌曲 |
4 |
用户选择播放下一首歌 |
备选流3 |
播放下一首歌曲 |
播放下一首歌曲 |
5 |
用户回到手机主界面,app隐藏 |
备选流4 |
音乐继续播放 |
音乐继续播放 |
6 |
用户选择单曲循环 |
备选流5 |
音乐单曲循环 |
音乐单曲循环 |
7 |
用户选择随机播放歌曲 |
备选流6 |
音乐随机播放 |
音乐随机播放 |
8 |
用户选择顺序播放歌曲 |
备选流7 |
音乐按顺序播放 |
音乐按顺序播放 |
状态图法:
2.用户登录
基本流:用户输入正确的用户名,密码登录
备选流1:用户名为空
备选流2:密码为空
备选流3:用户名错误
备选流4:密码错误
编号 |
场景/条件 |
账号 |
密码 |
预期结果 |
实际结果 |
1 |
用户输入正确的用户名,密码 |
V |
V |
登录到个人中心 |
登录到个人中心 |
2 |
用户名为空 |
|
V |
提示用户名为空 |
提示用户名为空 |
3 |
密码为空 |
V |
|
提示密码为空 |
提示密码为空 |
4 |
用户名错误 |
I |
V |
提示用户名或密码错误 |
提示用户名或密码错误 |
5 |
密码错误 |
V |
I |
提示用户名或密码错误 |
提示用户名或密码错误 |
状态图法
3.音乐搜索
基本流:搜索成功
备选流1:搜索不到
备选流2:搜索结果不符合
备选流3:显示相似的搜索结果
编号 |
场景/条件 |
输入条件 |
预期结果 |
实际结果 |
1 |
场景1:输入有效的歌名 |
花海 |
花海 |
花海 |
2 |
场景1:输入有效的作者 |
周杰伦 |
周杰伦的所有歌曲或专辑 |
周杰伦的所有歌曲或专辑 |
3 |
场景1:输入有效的专辑 |
七里香 |
专辑中所有的音乐 |
专辑中所有的音乐 |
4 |
场景2:输入模糊的歌名 |
情绪 |
名字带有情绪的所有歌曲 |
名字带有情绪的所有歌曲 |
5 |
场景2:输入模糊的作者名 |
田 |
作者名字带有田的歌曲 |
名字带有田的歌曲 |
6 |
场景2:输入模糊的专辑名 |
叶惠 |
专辑名带有叶惠的所有歌曲 |
专辑名带有叶惠的所有歌曲 |
7 |
场景3:输入错误的符号 |
*) |
找不到搜索结果 |
找不到搜索结果 |
8 |
场景4:不输入信息 |
|
找不到搜索结果 |
找不到搜索结果 |
状态图法:
五、执行情况
测试了网易云音乐,已经发布的并且运营相当长时间的软件,一般的功能都可以满足用户的使用,优化用户的体验感受。
六、测试小结
测试用例是最繁琐的东西了,而且测试这个很容易没有耐心。一边超级烦,一边还要测试,别扭死。测试对耐性的要求高,对测试用例的依赖性强。但是在本次测试中,最大问题个人感觉是状态图法测试,一方面不知如何下手,另一方面是画状态图用word浪费大量时间。