等价类
概念
等价类划分就是把被测对象的输入域划分为若干个集合,对于某个集合中的某个元素和该集合中的任一元素的表征一致,
然后从每个划分的集合中取出少数的数据作为测试用例;对于某个被测对象的输入域而言,如果某个个体被系统接受,则这个
个体所在的集合中的其他所有个体也应该被接受,反之亦然。
等价类划分
a.有效等价类
针对被测对象而言,合理的,有意义的,被系统接受的输入,如用户名长度在6-18
b.无效等价类
针对被测对象而言,不合理,无意义的,不被系统接受的输入,如用户名0<=长度<6或长度>18
等价类划分原则
序号 | 输入域条件 | 等价类划分 |
1 |
规定取值范围 或取值个数 |
一个有效等价类和 两个无效等价类 |
2 | 规定取值是真假值 |
一个有效等价类和 一个无效等价类 |
3 |
规定输入数据的一组值(n个) 并且程序要对每个值分别处理 |
n个有效等价类和 一个无效等价类 |
4 | 输入数据必须遵守某个规则 |
一个有效等价类和 若干个无效等价类 |
5 |
规定输入数据的集合或 ‘必须如何’的条件 |
一个有效等价类和 一个无效等价类 |
6 |
在确知已划分的等价类中各元素在程序处理中的方式不同的情况下, 则应再将该等价类进一步的划分为更小的等价类 |
等价类划分不确定 |
用例设计原则
a.根据需求,划分有效及无效等价类,有效等价类统一编号,无效等价类统一编号
b.设计一个新的测试用例时,使其尽可能覆盖所有尚未覆盖的有效等价类,直到所有的有效等价类都被覆盖
c.设计一个新的测试用例时,使其仅覆盖一个无效等价类,直到所有的无效等价类都被覆盖
等价类划分的本质
等价类划分的本质在于对被测对象输入域的识别和对等价类的划分
案例
栗子1,某个网站的用户名注册有如下要求,
1)用户名由数字,字母,下划线组成
2)用户名字符长度在6~18
3)用户名以字母开头。
这是一个简化版的注册,只有一个输入框(用来填写用户名)和一个注册按钮,暂时不考虑密码。
用等价类划分设计测试用例