定义
基本思想
设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
划分 | 有效等价类 | 编号 | 无效等价类 | 编号 |
---|---|---|---|---|
长度 | [1,12] | (1) | 0 | (2) |
- | - | (12,+无穷) | (3) | |
符号 | a | (4) | 数字+其他字符 | (5) |
- | - | 其他字符 | (6) |
定义
是等价类划分的一个补充方法,将等价类划分的边界作为用例设计(在有效和无效等价类的边界取值中,会存在值重复的情况,可按有效无效进行取舍)
基本思想
大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部,所以为了保证测试质量,就需要重点测试边界,就有了边界值这样的测试方法。
等价类和边界值的关系
场景:一个输入框的输入规则为1~12位字母和数字组合
具体可建立等价类表如下(把输入拆分成长度和符号组合两种)
根据边界值法,按照闭区间[1,12]确定上点(1,12),内点(2),离点(0,13),建立等价类和边界值表如下(长度和符号组合两种),即可得到用例。
划分 | 有效等价类 | 边界值 | 无效等价类 | 边界值 |
---|---|---|---|---|
长度 | [1,12] | 1,2,11,12 | 0 | 0 |
- | - | (12,+无穷) | 13 | |
符号 | a | 数字+其他字符 | ||
- | - | 其他字符 |
场景:手机号兼容座机号的格式校验
方法 | 等价类划分法 | 边界值分析法 |
---|---|---|
核心 | “分类”及代表性 | 边界值和边界两边的邻值 |
优点 | 通过把输入数据和输出数据进行分类,选用分类中的代表值,在保证了测试覆盖的情况下大大减少了测试用例的数量,使测试工作变得简单高效 | 大量的程序错误发生在输入的边界上,考虑了边界值的测试用例能更高效发现程序中的错误和缺陷 |
缺点 | 输入和输入之间的关系考虑少,可能产生一些逻辑错误。还需要其他用例设计方法来补充测试 | 只能作为一个对其他设计方法的补充;这种方法表面上听起来简单,但有的边界值非常微妙,不容易确定下来;只适用于多个变量相互独立又都代表实际物理量的情况,对变量之间的依赖关系则考虑不到 |
适用场景 | 有数据输入(编辑框)的地方,可以使用等价类划分法。例如:用户登录、注册、新建、查询 | 有数据输入且存在取值边界或长度边界时,边界值法往往跟等价类划分法一起使用,从而形成一套较为完善的测试方案 |
等价类划分和边界值分析法只考虑了单个的输入条件,在输入条件有各种组合、输入条件之间的相互制约关系的场景中很难发挥有效作用,这个时候就需要因果图与判定表法来帮助我们设计测试用例了