一、什么是等价类划分
等价类划分是解决穷举问题,等价类划分基于功能输入的内容,将具有某种共同特征的数据集合进行分类:
-
有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
-
无效等价类:与有效等价类相反,是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
二、步骤
-
仔细研读软件的需求文档,理解软件的功能和输入输出要求
-
确定有效和无效等价类
-
提取数据编写测试用例
三、等价类划分
-
按区间划分:如果输入条件规定了取值范围或值的个数,可以确定有效等价类和无效等价类。
-
按数值划分:如果规定了输入数据的一组值,且程序要对每个输入值分别进行处理,可以为每一个输入值确定一个有效等价类,此外针对这组值确定一个无效等价类,它是所有不允许的输入值的集合。
-
按限制条件或规则划分:如果规定了输入数据必须遵守的规则或限制条件,可以确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
四、等价类划分的优点
-
可以在不考虑程序内部结构的情况下,用较少的测试用例覆盖尽可能多的输入情况,提高测试效率。
-
能够帮助测试人员更全面地考虑各种输入情况,避免遗漏重要的测试场景。
-
便于测试用例的管理和维护,当程序功能发生变化时,可以根据等价类的划分快速调整测试用例。
五、使用场景
针对需要有大量数据测试输入,但是没法穷举测试的地方, 输入框、下拉列表、单选复选框等。
六、案例
验证QQ账号的合法性(要求6~10位自然数)
分析步骤:
用例: