等价类划分法
整个等价类划分法的核心就是:如何划分等价类,如何区分有效等价类和无效等价类、如何根据等价类确定测试用例。
观点:如何对输入数据进行分类。(if判断里面放什么)
- 划分等价类
等价类是指某个输入域的集合,如果用集合中的一个输入条件作为测试数据进行测试不能发现程序中的错误,那么使用集合中的其他输入条件进行测试也不可能发现错误。可用等价类中的任意一个测试用例来代替全部。
集合的划分,划分为互不相交的一组子集,而子集的并是整个集合。(完备性、无冗余性) - 区分有效等价类和无效等价类
有效等价类:指的是对程序的规格说明是有意义的、合理的输入数据所构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能(确认过程)。仔细观察题目的条件。
无效等价类:指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。利用无效等价类可检验程序对于无效数据的异常处理能力(检验过程)。与题目条件(有效等价类)相反的情况。 - 确定等价类
这一步的关键是:判断输入条件的类型。
a. 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
b. 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
c. 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。
d. 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
e. 在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。 - 确定测试用例
a. 为每个等价类规定一个唯一的编号。
b. 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,直到所有有效等价类均被覆盖。(只需要出现一次即可)
c. 设计一个新的测试用例,使其只覆盖一个无效等价类,直到所有无效等价类均被覆盖。 - 案例分析
注册邮箱时邮箱名要求6~18个字符,可使用字母、数字、下划线,需以字母开头。