一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。
三、实验内容
(一)、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
要求写出测试用例表、执行情况和测试小结。
1、测试代码连接
http://www.cnblogs.com/1033YCY/p/6802396.html
2、被测项目界面
3、测试用例设计表
A、等价类划分
(1)、等价类表:
输入条件 |
条件 |
有效等价类 |
无效等价类 |
输入三个整数 |
整数【1】 |
a为非整数【16】 |
|
b为非整数【17】 |
|||
c为非整数【18】 |
|||
a,b为非整数【19】 |
|||
a,c为非整数【20】 |
|||
b,c为非整数【21】 |
|||
a,b,c为非整数【22】 |
|||
赋值三个数【2】 |
a,b,c均不赋值【23】 |
||
只赋值a;【24】 |
|||
只赋值b;【25】 |
|||
只赋值c;【26】 |
|||
只赋值a,b【27】 |
|||
只赋值a,c【28】 |
|||
只赋值b,c【29】 |
|||
1≤a≤100【3】 1≤b≤100【4】 1≤c≤100【5】 |
a<0 【30】 |
||
a>100【31】 |
|||
b<0 【32】 |
|||
b>100 【33】 |
|||
c<0 【34】 |
|||
c>100 【35】 |
|||
输出条件 |
构成一般三角形 |
a+b>c 【6】 b+c>a 【7】 a+c>b 【8】 |
a+b<c 【36】 |
a+b=c 【37】 |
|||
b+c<a 【38】 |
|||
b+c=a 【39】 |
|||
a+c<b 【40】 |
|||
a+c=b 【41】 |
|||
构成等腰三角形 |
a=b&&a!=c 【9】 |
||
b=c&&a!=b 【10】 |
|||
a=c&&a!=b 【11】 |
|||
构成等边三角形 |
a=b=c 【12】 |
||
构成直角三角形 |
a^2+b^2=c^2 【13】 |
||
a^2+c^2=b^2 【14】 |
|||
b^2+c^2=a^2 【15】 |
(2)、依据等价类划分设计测试用例:
a、覆盖有效等价类的测试用例:
测试用例 编号 |
输入值 |
覆盖等价类 |
预期输出结果 |
实际输出结果 |
通过 |
||||||
a |
b |
c |
type |
s |
c |
type |
s |
c |
|||
U01 |
2 |
4 |
3 |
【1】-【8】 |
一般三角形 |
2.90 |
9 |
一般三角形 |
2.9 |
9 |
√ |
U02 |
60 |
60 |
2 |
【1】-【8】【9】 |
等腰三角形 |
59.99 |
122 |
等腰三角形 |
59.99 |
122 |
√ |
U03 |
2 |
3 |
3 |
【1】-【8】【10】 |
等腰三角形 |
2.83 |
8 |
等腰三角形 |
2.83 |
8 |
√ |
U04 |
6 |
2 |
6 |
【1】-【8】【11】 |
等腰三角形 |
5.92 |
14 |
等腰三角形 |
5.92 |
14 |
√ |
U05 |
3 |
3 |
3 |
【1】-【8】【12】 |
等边三角形 |
3.90 |
9 |
等边三角形 |
3.90 |
9 |
√ |
U06 |
3 |
4 |
5 |
【1】-【8】【13】 |
直角三角形 |
6.00 |
12 |
直角三角形 |
6.00 |
12 |
√ |
U07 |
6 |
10 |
8 |
【1】-【8】【14】 |
直角三角形 |
24.00 |
24 |
直角三角形 |
24.00 |
24 |
√ |
U08 |
13 |
5 |
12 |
【1】-【8】【15】 |
直角三角形 |
30.00 |
30 |
直角三角形 |
30.00 |
30 |
√ |
b、覆盖无效等价类的测试用例:
测试用例 编号 |
输入值 |
覆盖等价类 |
预期输出结果 |
实际输出结果 |
是否 通过 |
||
U01 |
2.5 |
3 |
2 |
【16】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U02 |
5 |
6.6 |
6 |
【17】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U03 |
6 |
8 |
3.6 |
【18】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U04 |
6.3 |
a |
6 |
【19】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U05 |
b |
3 |
8.3 |
【20】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U06 |
3 |
6.6 |
c |
【21】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U07 |
a |
# |
3.3 |
【22】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U08 |
— |
— |
— |
【23】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U09 |
8 |
— |
— |
【24】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U10 |
— |
90 |
— |
【25】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U11 |
— |
— |
6 |
【26】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U12 |
3 |
2 |
— |
【27】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U13 |
3 |
— |
2 |
【28】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U14 |
— |
3 |
2 |
【29】 |
输入有误,请重新输入! |
输入有误,请重新输入! |
√ |
U15 |
-3 |
6 |
3 |
【30】 |
边的值不在范围内 |
边的值不在范围内 |
√ |
U16 |
120 |
60 |
80 |
【31】 |
边的值不在范围内 |
边的值不在范围内 |
√ |
U17 |
6 |
-3 |
3 |
【32】 |
边的值不在范围内 |
边的值不在范围内 |
√ |
U18 |
60 |
120 |
80 |
【33】 |
边的值不在范围内 |
边的值不在范围内 |
√ |
U19 |
6 |
3 |
-3 |
【34】 |
边的值不在范围内 |
边的值不在范围内 |
√ |
U20 |
60 |
80 |
120 |
【35】 |
边的值不在范围内 |
边的值不在范围内 |
√ |
U21 |
1 |
2 |
5 |
【36】 |
不构成三角形 |
不构成三角形 |
√ |
U22 |
2 |
3 |
5 |
【37】 |
不构成三角形 |
不构成三角形 |
√ |
U23 |
90 |
60 |
6 |
【38】 |
不构成三角形 |
不构成三角形 |
√ |
U24 |
66 |
60 |
6 |
【39】 |
不构成三角形 |
不构成三角形 |
√ |
U25 |
2 |
10 |
6 |
【40】 |
不构成三角形 |
不构成三角形 |
√ |
U26 |
2 |
8 |
6 |
【41】 |
不构成三角形 |
不构成三角形 |
√ |
B、边界值分析方法
测试用例 编号 |
输入值 |
预期输出结果 |
实际输出结果 |
是否 通过 |
||||||
a |
b |
c |
type |
s |
c |
type |
s |
c |
||
U01 |
0 |
60 |
60 |
边的值不在范围内 |
边的值不在范围内 |
√ |
||||
U02 |
1 |
60 |
60 |
等腰三角形 |
30.0 |
121 |
等腰三角形 |
30.0 |
121 |
√ |
U03 |
2 |
60 |
60 |
等腰三角形 |
59.9 |
122 |
等腰三角形 |
59.9 |
122 |
√ |
U04 |
99 |
60 |
80 |
一般三角形 |
2399.5 |
239 |
一般三角形 |
2399.5 |
239 |
√ |
U05 |
100 |
60 |
80 |
直角三角形 |
2400.0 |
240 |
直角三角形 |
2400.0 |
240 |
√ |
U06 |
101 |
60 |
80 |
边的值不在范围内 |
边的值不在范围内 |
√ |
||||
U07 |
60 |
0 |
60 |
边的值不在范围内 |
边的值不在范围内 |
√ |
||||
U08 |
60 |
1 |
60 |
等腰三角形 |
30.0 |
121 |
等腰三角形 |
30.0 |
121 |
√ |
U09 |
60 |
2 |
60 |
等腰三角形 |
59.9 |
122 |
等腰三角形 |
59.9 |
122 |
√ |
U10 |
60 |
99 |
80 |
一般三角形 |
2399.5 |
239 |
一般三角形 |
2399.5 |
239 |
√ |
U11 |
60 |
100 |
80 |
直角三角形 |
2400.0 |
240 |
直角三角形 |
2400.0 |
240 |
√ |
U12 |
60 |
101 |
80 |
边的值不在范围内 |
边的值不在范围内 |
√ |
||||
U13 |
60 |
60 |
0 |
边的值不在范围内 |
边的值不在范围内 |
√ |
||||
U14 |
60 |
60 |
1 |
等腰三角形 |
30.0 |
121 |
等腰三角形 |
30.0 |
121 |
√ |
U15 |
60 |
60 |
2 |
等腰三角形 |
59.9 |
122 |
等腰三角形 |
59.9 |
122 |
√ |
U16 |
60 |
80 |
99 |
一般三角形 |
2399.5 |
239 |
一般三角形 |
2399.5 |
239 |
√ |
U17 |
60 |
80 |
100 |
直角三角形 |
2400.0 |
240 |
直角三角形 |
2400.0 |
240 |
√ |
U18 |
60 |
80 |
101 |
边的值不在范围内 |
边的值不在范围内 |
√ |
C、决策表:
(1)
c1:a<b+c? |
F |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
c2:b<a+c? |
— |
F |
T |
T |
T |
T |
T |
T |
T |
T |
T |
c3:c<b+a? |
— |
— |
F |
T |
T |
T |
T |
T |
T |
T |
T |
c4:a=b? |
— |
— |
— |
F |
T |
T |
T |
T |
F |
F |
F |
c5:a=c? |
— |
— |
— |
F |
F |
T |
T |
F |
T |
T |
F |
c6:b=c? |
— |
— |
— |
F |
F |
F |
T |
T |
T |
F |
T |
a1:不构成三角形 |
× |
× |
× |
||||||||
a2:一般三角形 直角三角形 |
× |
||||||||||
a3:等腰三角形 |
× |
× |
× |
||||||||
a4:等边三角形 |
× |
||||||||||
a5:不可能 |
× |
× |
× |
(2)、设计测试用例:
测试用例 编号 |
输入值 |
预期输出结果 |
实际输出结果 |
是否 通过 |
||||||
a |
b |
c |
type |
s |
c |
type |
s |
c |
||
U01 |
5 |
3 |
1 |
不构成三角形 |
不构成三角形 |
√ |
||||
U02 |
3 |
60 |
3 |
不构成三角形 |
不构成三角形 |
√ |
||||
U03 |
3 |
6 |
80 |
不构成三角形 |
不构成三角形 |
√ |
||||
U04 |
3 |
4 |
5 |
直角三角形 |
6.00 |
12 |
直角三角形 |
6.00 |
12 |
√ |
U05 |
3 |
3 |
2 |
等腰三角形 |
2.83 |
8 |
等腰三角形 |
2.83 |
8 |
√ |
U06 |
3 |
3 |
3 |
等边三角形 |
3.90 |
9 |
等边三角形 |
3.90 |
9 |
√ |
U07 |
6 |
3 |
6 |
等腰三角形 |
8.71 |
15 |
等腰三角形 |
8.71 |
15 |
√ |
U08 |
6 |
8 |
8 |
等腰三角形 |
22.25 |
22 |
等腰三角形 |
22.25 |
22 |
√ |
4、测试结论
(1)、该程序能通过测试人员设计的测试用例;
(2)、这次实验是学习黑盒测试后的第一次实验:针对开发的界面,运用等价类、边界值和决策表,对软件进行测试用例的设计。在学习中,我发现a.等价类测试可以划分成标准等价类、健壮等价类;其区别就是是否考虑无效等价类,健壮等价类需要考虑无效等价类,其实就是把无效等价类和有效等价类结合起来就是,所以在本次实验中就没有再额外表示出来;
(3)、学习软件测试也有一段时间了,我觉得软件测试给我的最大的一个感觉就是:软件测试没有固定的“模板”,没有限制思维,所以会看到很多各种不同的答案。
5、给开发同学的建议
界面在功能上基本完成了老师布置的任务,有一个小缺陷:当输入不符合输入数据的规定的时候,弹出“输入有误,请重新输入!”,点击“确定”后,判定三角形形状、面积以及周长的显示框应该处于“清零”的状态。
(二)、对手机上任意一款音乐软件进行黑盒测试。
要求:1)使用思维导图
2)根据场景法、状态图法 设计测试用例。
3)附加题:如有可能尝试用正交实验法、组合测试对测试用例进行简化。
写出测试用例表、执行情况,测试小结。
(1)、思维导图:
(2)、根据场景法、状态图法 设计测试用例:
A.场景法:
a.账号密码登录(短信登录类似)
基本流:输入正确的账号以及正确的密码;
备选流1:用户名为空;
备选流2:密码为空;
备选流3:密码错误;
备选流4:用户名不存在;
测试用例:
用例编号 |
场景 |
基本流 备选流 |
预期结果 |
实际结果 |
是否通过 |
U01 |
输入正确的用户名以及密码 |
基本流 |
成功登录 |
成功登录 |
√ |
U02 |
用户名为空 |
备选流1 |
用户名不能为空 |
用户名不能为空 |
√ |
U03 |
密码为空 |
备选流2 |
密码不能为空 |
密码不能为空 |
√ |
U04 |
密码输入错误 |
备选流3 |
密码错误 |
密码错误 |
√ |
U05 |
任意输入用户名 |
备选流4 |
用户名不存在 |
用户名不存在 |
√ |
b.音乐播放
基本流:音乐正常播放;
备选流1:播放上一首歌;
备选流2:播放下一首歌;
备选流3:暂停;
备选流4:顺序播放;
备选流5:循环播放;
备选流6:随机播放;
测试用例:
用例编号 |
场景 |
基本流 备选流 |
预期结果 |
实际结果 |
是否通过 |
U01 |
音乐正常播放 |
基本流 |
音乐正常播放 |
音乐正常播放 |
√ |
U02 |
播放上一首歌 |
备选流1 |
播放上一首歌 |
播放上一首歌 |
√ |
U03 |
播放下一首歌 |
备选流2 |
播放下一首歌 |
播放下一首歌 |
√ |
U04 |
暂停 |
备选流3 |
音乐暂停播放 |
音乐暂停播放 |
√ |
U05 |
顺序播放 |
备选流4 |
音乐顺序播放 |
音乐顺序播放 |
√ |
U06 |
循环播放 |
备选流5 |
音乐单曲循环 |
音乐单曲循环 |
√ |
U07 |
随机播放 |
备选流6 |
音乐随机播放 |
音乐随机播放 |
√ |
B.状态图法:
状态图如图:
状态/用例编号 |
用例1 |
用例2 |
用例3 |
用例4 |
用例5 |
用例6 |
用例7 |
用例8 |
用例9 |
登录界面 |
1 |
1 |
1 |
1 |
1 3 |
1 3 |
1 |
1 |
1 |
用户名已输入 |
2 |
2 4 |
3 |
2 |
|||||
密码已输入 |
2 |
2 |
2 |
||||||
点击登录按钮 |
3 |
3 4 |
2 |
2 |
|||||
用户名/密码已输入 |
3 |
3 |
5 |
5 |
4 |
3 |
3 |
||
成功登录 |
4 |
4 |
6 |
6 |
5 |
||||
密码或用户名错误 |
2 |
4 |
4 |
4 |
所以一共有9个测试用例,测试用例:
编号 |
所执行的用例 |
预期结果 |
实际结果 |
是否通过 |
U01 |
用例1 |
提示“用户名或密码错误” |
提示“用户名或密码错误” |
√ |
U02 |
用例2 |
登录成功 |
登录成功 |
√ |
U03 |
用例3 |
登陆成功 |
登陆成功 |
√ |
U04 |
用例4 |
登录成功 |
登录成功 |
√ |
U05 |
用例5 |
登陆成功 |
登陆成功 |
√ |
U06 |
用例6 |
提示“用户名或密码错误” |
提示“用户名或密码错误” |
√ |
U07 |
用例7 |
登录成功 |
登录成功 |
√ |
U08 |
用例8 |
提示“用户名或密码错误” |
提示“用户名或密码错误” |
√ |
U09 |
用例9 |
提示“用户名或密码错误” |
提示“用户名或密码错误” |
√ |
(3)、执行情况与测试小结
a.执行情况:
所测试的酷狗音乐基本上能通过所有的测试用例,因为酷狗音乐app是一个比较复杂的软件,由于时间、技术有限,所以有很多功能未能测试。
b.测试小结:
这次实验运用了较全面的黑盒测试方法,并且把所有的黑盒测试方法整理到一起,方便进行横向、纵向的比较,也有助于我对黑盒测试技术中功能测试的理解;
对酷狗音乐进行了较简单的测试,对于酷狗音乐这类较为复杂、功能比较多的软件,对他进行全面的测试是比较不切实际的,所以运用场景法、以及状态图法进行测试,能较正确的编写出一些比较具有代表性的测试用例,进行测试!以后在进行测试工作的时候,测试的软件也会比较复杂,盲目地进行测试是不理智的,掌握测试技术、测试技巧能使我更高效率地完成测试工作。