第三次实验报告:功能性测试用例设计
一、实验目的
掌握黑盒测试用例设计方法
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)运用等价类、边界值、决策表、状态图法等进行测试用例设计。
(3)对手机上任意一款音乐软件进行黑盒测试实践。(作业若雷同,后上传者判定0分)
三、实验内容
1、对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结。
要求写出测试用例表、执行情况和测试小结。
开发贴:http://www.cnblogs.com/lingzhiliu/p/6798923.html
等价类表:
输入条件 |
有效等价类 |
无效等价类 |
输入值取值
|
0<=headphone① 0<=shell② 0<=protctor③ |
0>headphone④ 0>shell⑤ 0>protector⑥ |
销售额
|
0<=sale<1000⑦ 1000<=sale<=1800⑧ sale>1800⑨ |
sale<0⑩ |
测试用例:根据输出域选择输入值,使落在输出域等价类内
测试 序号 |
输入 |
覆盖 等价类 |
销售额 |
预期结果 |
实际结果 |
||||||
耳机 |
手机壳 |
手机膜 |
佣金 |
销售额最高的配件 |
最多与最少数量 |
佣金 |
销售额最高的配件 |
最多与最少数量 |
|||
01 |
5 |
20 |
25 |
1、2、3、7 |
800 |
80 |
耳机 |
20 |
80 |
耳机 |
20 |
02 |
15 |
20 |
20 |
1、2、3、8 |
1560 |
184 |
耳机 |
5 |
184 |
耳机 |
5 |
03 |
20 |
10 |
20 |
1、2、3、9 |
1860 |
232 |
耳机 |
10 |
232 |
耳机 |
10 |
边界值分析测试用例:
测试 序号 |
输入 |
销售额 |
预期结果 |
实际结果 |
||||||
耳机 |
手机壳 |
手机膜 |
佣金 |
销售额最高的配件 |
最多与最少数量 |
佣金 |
销售额最高的配件 |
最多与最少数量 |
||
01 |
0 |
40 |
50 |
800 |
80 |
手机壳、手机膜 |
50 |
80 |
手机壳、手机膜 |
50 |
02 |
1 |
40 |
50 |
880 |
88 |
手机壳、手机膜 |
49 |
88 |
手机壳、手机膜 |
49 |
03 |
10 |
0 |
50 |
1200 |
130 |
耳机 |
50 |
130 |
耳机 |
50 |
04 |
10 |
1 |
50 |
1210 |
131.5 |
耳机 |
49 |
131.5 |
耳机 |
49 |
05 |
20 |
40 |
0 |
2000 |
260 |
耳机 |
40 |
260 |
耳机 |
40 |
06 |
20 |
40 |
1 |
2008 |
261.6 |
耳机 |
39 |
261.6 |
耳机 |
39 |
决策表分析:
原因:
1.headphone>=0,shell>=0,protector>=0
2.0<=销售额<1000
3.1000<=销售额<=1800
4.1800<=销售额
结果:
a.提示输入有误,请重新输入
b.佣金为10%
c.佣金=100+(销售额-1000)*15%
d.佣金=220+(销售额-1800)*20%
原因2,3,4互斥,最多有1个成立
决策表:
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
||||||||
原因 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
||||||||
2 |
|
1 |
1 |
1 |
0 |
1 |
0 |
0 |
|||||||||
3 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
||||||||||
4 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
||||||||||
结果: |
a |
1 |
|
|
|
|
0 |
0 |
0 |
||||||||
b |
0 |
1 |
0 |
0 |
|||||||||||||
c |
0 |
0 |
1 |
0 |
|||||||||||||
d |
0 |
0 |
0 |
1 |
|||||||||||||
测试用例 |
|
耳机 |
手机壳 |
手机膜 |
耳机 |
手机壳 |
手机膜 |
耳机 |
手机壳 |
手机膜 |
耳机 |
手机壳 |
手机膜 |
||||
|
-1 |
1 |
2 |
1 |
40 |
50 |
10 |
1 |
50 |
20 |
40 |
1 |
测试执行情况:该项目测试结果均通过
测试小结:
通过本次测试,我认为使用黑盒测试方法对软件进行功能测试,可以极大提高测试效率并能取得良好测试效果。采用等价类划分要注意要完备测试、避免冗余,在划分时要划分为互不相交的一组子集,而子集的并是整个集合,子集互不相交可以避免冗余,而对于子集的并是整个集合则可以保证其完备性;在采用边界值分析方法时要先确定边界情况,它跟等价类是有区别的,边界类分析不是从等价类中随随便便取值,而是取等价类的每个边界都作为测试条件,而且边界值分析不仅要考虑输入条件边界,还要考虑输出域边界产生的测试情况,我认为很多错误都是发生在输入或输出范围的边界上,采用边界值分析法设计测试用例可以发现更多的错误,有时候边界情况会很复杂,在设计测试用例时不仅要针对问题的输入域,还要针对输出域边界,耐心细致地逐个去考虑;而在采用决策表时,我发现这跟因果图的关系很紧密,因果图方法最终生成的就是决策表,要列出问题所有的条件和在各个条件下的结果,有时候决策表不好做的时候,可以先做因果图,这样就更加直观。
2、对手机上任意一款音乐软件进行黑盒测试。
要求:1)使用思维导图
2)根据场景法、状态图法 设计测试用例。
场景法:
1.确定基本流和备选流:
基本流:用户打开软件,登录,搜索音乐,识别音乐,播放音乐,退出软件。
备选流1:账号或密码为空
备选流2:账号不存在
备选流3:密码错误
备选流4:搜索音乐名或歌手名不存在
备选流5:播放歌曲不存在
备选流6:识别歌曲失败
2.根据基本流和备选流确定场景:
场景1:成功使用软件 基本流
场景2:账号或密码为空 备选流1
场景3:账号不存在 备选流2
场景4:密码错误 备选流3
场景5:搜索音乐名或歌手名不存在 备选流4
场景6:播放歌曲不存在 备选流5
场景7:识别歌曲失败 备选流6
3.对每一个场景都确定测试用例,可以采用矩阵或决策表来确定和管理测试用例:
空白表示不输入数据,(无效)表明这个条件不适用于该测试用例。
用例ID |
场景 |
账号 |
密码 |
搜索音乐名或歌手名 |
播放歌曲 |
识别歌曲 |
预计结果 |
实际结果 |
测试结果 |
001 |
场景1:成功使用软件 |
15860285441 |
Lx285441 |
《动物世界》 |
《演员》 |
《绅士》 |
成功登录,搜索及播放 |
成功登录,搜索及播放 |
通过 |
002 |
场景2:账号或密码为空 |
空白 |
空白 |
(无效) |
(无效) |
(无效) |
提示账号和密码不能为空 |
提示账号和密码不能为空 |
通过 |
003 |
场景3:账号不存在 |
123 |
Lx285441 |
(无效) |
(无效) |
(无效) |
提示该账号不存在 |
提示该账号不存在 |
通过 |
004 |
场景4:密码错误 |
15860285441 |
zlx285441 |
(无效) |
(无效) |
(无效) |
提示密码错误 |
提示密码错误 |
通过 |
005 |
场景5:搜索音乐名或歌手名不存在 |
15860285441 |
Lx285441 |
张丽霞 |
(无效) |
(无效) |
显示智能匹配搜索结果 |
显示智能匹配搜索结果 |
通过 |
006 |
场景6:播放歌曲不存在 |
15860285441 |
Lx285441 |
薛之谦 |
停格 |
(无效) |
提示歌曲文件不存在,已被删除 |
提示歌曲文件不存在,已被删除 |
通过 |
007 |
场景7:识别歌曲失败 |
15860285441 |
Lx285441 |
薛之谦 |
演员 |
一段不是歌曲的声源 |
提示没有识别出歌曲 |
提示没有识别出歌曲 |
通过 |
状态图法:
对登录界面进行测试:
Ip1 输入账号
Ip2 输入密码
Ip3 点击登录
Ip4 点击返回
Ip5 在错误状态下点击登录
所以共有9种状态
3)测试小结:结合思维导图,在使用场景法测试时,我觉得运用场景来对功能或流程进行描述,可以很清晰了解到软件该测试的地方,提高测试效果,场景法要包含基本流和备选流,基本流总的来说就是正常的,正确场景,而备选流就是分支加上中断。在确定场景时,要从一个流程开始,通过描述经过的路径来确定过程,经过遍历所有的基本流和备用流来完成所有的场景。而画状态图时,要先确定程序的初始状态,并加上所有输入可能产生的新状态,然后再根据已产生的新状态,对每个新状态加上所有输入再产生新的状态,直到不再产生新状态。这两种设计测试用例的方法跟之前所使用的方法大不相同,可以更加清晰明朗地设计出测试用例。在测试酷狗音乐的听歌识曲哼唱识曲时,经常识别不出来,或者当背景音乐比较嘈杂时,也很难识别出来。