若文章存在不理解或者错误的地方,欢迎留言指出
在实际用例设计过程中,只要有输入的地方,都可以使用等价类划分+边界值的方法来选取最具代表性的输入数据,这俩方法通常都是一起使用的。前面先介绍下定义,后面写些具体的案例。
等价类划分法
定义
等价类:是指程序中可输入域的一个集合
等价类划分:就是对这个集合按不同规则进行一个划分,主要划分成有效等价类(符合程序输入规则,对其有意义的集合)和无效等价类(不符合程序输入规则,对其无意义的集合)
划分思路
1、根据需求,大体上可以先划分为有效和无效两种
2、然后再细化相应的等价类(从组合情况进行细化)
3、建立等价类表
这里先举个例子:一个输入框的输入规则为0~12位数字组合,具体可建立等价类表如下(把输入拆分成长度和符号组合两种):
划分 | 有效等价类 | 无效等价类 |
---|---|---|
长度 | (0,12] | 0 |
- | - | (12,+∞) |
符号 | 数字 | 数字+其它字符 |
- | - | 其它字符 |
边界值分析法
定义
边界值分析作为等价类划分的一个补充方法,将等价类划分的边界作为用例设计(在有效和无效等价类的边界取值中,会存在值重复的情况,可按有效无效进行取舍)
说明:因为开发中数据范围的边界是最容易产生bug的地方,所以为了保证测试质量,就需要重点测试边界,就有了边界值这样的测试方法
边界值通常取5点:
2个上点:边界上的点
2个离点:离边界最近的点,闭外开内(闭区间取外面的点,开区间区里面的点)
1个内点:范围内的点,通常选中间点(emm…个人觉得这个内点可取可不取,前面也说了,重点在于检查边界)
这里先举个例子:以上面划分的有效等价类(0,12]为例子,那上点就为:0和12,离点就为1和13,内点就为6
实例设计与分析
我们以QQ的注册界面为例子
程序的输入规则:
昵称:不能为空
密码:1、不能有空格;2、长度为8~16个字符;3、字符必须包括字母,数字,符号中至少两种
根据规则初步分析可得(账号为昵称,写的时候打错了)
从数据中可以看出,存在一些重复的数据和一些无理取闹的数据(-1??你输个给我看!),那我们再对数据进行处理下可得:
根据最终的分析结果,我们再对QQ的注册界面设计相应的测试用例: