一、等价类测试方法
举例:——你是一名初入茅庐的职场小白,进入公司后,给你了一份需求文档,让你了解项目需求,过一段时间就准备让你写用例。经过了解,项目只有三个功能。
需求如下:输入三个数值,判断能否组成三角形。
------------------------------------------------------------------------------------------------
在过程中重要的是要学习 测试用例的设计思路
S1:把需求从文字方式转成界面;
通过界面的方式更直观
a边 |
b边 |
c边 |
确定按钮
S2:界面上有多少功能
确定都有那些功能
S3:针对每个功能,分析包括那些输入项
经过分析得知有a边、b边、c边三个输入项(文本框)
S4:分析每个输入项的组成规则
1、类型(本需求只限数字)
2、长度(需求限制长度1-18位)
3、取值范围(已确认范围限制在0-10000)
根据需求查看具体取值范围,如果需求没有明确给出,需要找产品设计人员确认
4、可否为空(三角形的边不能为空或者0)
空格需要特别关注,是否过滤或者算特殊符号
5、能否重复(需求给出可以重复)
6、其他规则(需求给出小数点后最多有两位)
S5:针对输入规则,构造测试数据
首先构造符合需求的正常数据
符合需求的正常情况
1、先输入一串正常的数据,判断软件的功能是否正常
2、在有效数据中随机选择一个正整数和一个正小数(小数点后两位)
由于资源有限,我们只在1--10000里随机抽取一个进行测试
时间充裕的情况下可随机多个进行测试
输入正常数据:
1、正整数:500
2、正小数:500.05
不符合需求的异常情况
输入异常测试数据,可进行异常测试。观察功能是否反馈正常,检查软件对于异常的情况,有没有一个友好的处理
1、类型
2、长度--超过18位
3、取值范围
异常情况,需要设计一个1-10000之外的数字
4、可否为空
测试不输入或者输入空格
5、能否重复
需求中说明可以重复,这里就不需要在构造数据
6、其他规则
其他规则中说明小数点后只允许两位,这里设计异常数据,构造小数点后三位的数据
异常情况的数据
S6:
1、用例编号
项目代号-测试阶段-测试依据-用例编号
SJX-ST-SRS001-001
2、用例标题
条件+结果
在某某条件下, 进行某某的正常/异常测试
例:
三遍均为小于10000的正整数, 检查是否能组成三角形
三遍均为小于10000的正整数, 进行三角形功能的正常情况测试
3、项目名称
所属模块
/项目名/模块名/....
例
/三角形功能
4、优先级
高 / 中 / 低
5、预置条件/前置条件
6、操作步骤
1.打开软件
2.分别输入a, b, c三边的值
3.点击"确定"按钮
7、输入数据
a边: 500
b边:600
c边:700
8、预期结果
期望结果
验证出现提示信息"能组成三角形"
二、等价类法
任何输入都可以分为有效输入和无效输入两种
其中有效的输入叫做有效等价类
随机选取有效输入中的至少一种情况
用这种情况代表所有情况
因为这种情况和其他所有情况是等价的
其中无效的输入叫做无效等价类
把所有可能的情况进行分类, 每一类中随机选取一种情况进行测试
这样我们就覆盖了所有的输入类型
a边有9条异常情况
b边也有9条异常情况
c边也有9条异常情况
还有2条正常情况
所以按照等价类的思想, 可以设计29条测试用例
三个输入框,都是异常输入的话, 一般只有一个异常提示
那么我们应该每个输入框分别进行一次异常测试, 而不是组合三个输入框都异常一起测试
三、总结
1、等价类设计方法的最终目标:
覆盖独立输入的有效数据和无效数据的所有情况
先把输入按组成规则分类, 每个类中选择一种情况进行测试
2、等价类方法的理论来源
为什么要用等价类的方法设计测试用例?
因为资源有限,但是测试数据是无限的
所以等价类就是我们的解决方法
时间充分的时候,允许一个等价类中选取多个数据
但是至少每个等价类中要选取1个数据
3、使用等价类法构建测试用例的步骤
见S1,S2,S3,S4,S5,S6
四、等价类法的优缺点
优点:简单高效
缺点:测试用例设计的不充分,只考虑独立输入的有效和无效覆盖,没有考虑输入之间的关联关系。数据是随机选取的, 可能漏掉缺陷。