等价类划分

基本概念

等价类是指某个输入域的子集合。

等价类划分法将程序所有可能的输入数据(有效和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。这样可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

类型

  • 有效等价类
    对于程序的规格说明书是合理的、有意义的输入数据构成的集合。
  • 无效等价类
    根据需求说明书,不满足需求的集合。

方法

  1. 在输入条件规定了取值范围或值的个数的情况下,则可以确定一个有效等价类和两个无效等价类。
    例如:输入值是学生成绩,范围是0~100
  2. 在输入条件规定了输入值的集合或者规定了“必须如何”条件的情况下,可以确立一个有效等价类和一个无效等价类。
    例如:验证码
  3. 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
  4. 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
    例如:下拉框
  5. 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
    例如:邮箱
  6. 在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

步骤

  1. 考虑输入数据的数据类型(输入类型)
  2. 考虑数据范围(输入长度)
  3. 画出示意图,区分等价类
  4. 为每一个等价类进行编号
  5. 从一个等价类中选举一个测试数据构造测试用例

标准

  • 完备测试、避免冗余
  • 子集互不相交:保证无冗余,不会出现多个用例用到相同类型的数据
  • 所有子集相加即为数据总集(整个集合)
posted @ 2020-01-01 02:00  心脏鼓点  阅读(974)  评论(0编辑  收藏  举报