等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。利用这一方法设计测试用例可以不考虑程序的内部结构,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。等价类划分法是一种系统性的确定要输入的测试条件的方法。 由于等价类是在需求规格说明书的基础上进行划分的,并且等价类划分不仅可以用来确定测试用例中的数据的输入输出的精确取值范围,也可以用来准备中间值、状态和与时间相关的数据以及接口参数等,所以等价类可以用在系统测试、集成测试和组件测试中,在有明确的条件和限制的情况下,利用等价类划分技术可以设计出完备的测试用例。这种方法可以减少设计一些不必要的测试用例,因为这种测试用例一般使用相同的等价类数据,从而使测试对象得到同样的反映行为。对于等价类我们从以下几个方面讨论它的划分方法。有效等价类划分 有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。有效等价类可以是一个,也可以是多个,根据系统的输入域划分若干部分,然后从每个部分中选取少数有代表性数据当做数据测试的测试用例,等价类是输入域的集合。以下是对有效等价类数据集的一些例子。 终端用户输入的命令 与最终用户交互的系统提示 接受相关的用户文件的名称 提供初始化值和边界等 提供格式化输出数据的命令 在图形模式(比如鼠标点击时)提供的数据 失败时显示的回应消息无效等价类划分 无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。利用无效等价类,可以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。以下是无效等价类数据集的一些例子。 在一个不正确的地方提供适当的值。 验证边界值 验证外部边界的值 用户输入的命令 最终用户与系统交互的提示 验证与边界和外部边界值的数值数据等价类划分的方法有 按区间划分。 按数值划分。 按数值集合划分。 按限制条件或规划划分。 按处理方式划分。 等价类划分的原则如下: 在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。 在规定了输入数据的一组值中(假定有n个值),并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类和一个无效等价类。 在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类。 在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。 在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。 等价类表的建立 等价类表的建立如表3-1所示。 表3-1是等价类表的基础,可依据表3-1确定测试用例。测试用例可按下列步骤来确定: 表3-1 等价类表 1)在分析需求规格说明的基础上划分等价类,列出等价类表,为每一个等价类规定一个唯一的编号。
2)将程序可能的输入数据分成若干个子集,从每个子集中选取一个有代表性的数据作为测试用例。等价类是某个输入域的子集,在该子集中的每个输入数据的作用都是等效的。 3)设计新的测试用例,使其尽可能多地覆盖未覆盖的有效等价类,按照这一步骤重复进行,直到所有的有效等价类都被覆盖为止。 4)设计新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,按照这一步骤重复进行,直到所有的无效等价类都被覆盖为止。 等价类表与测试用例的关系 等价类表与测试用例的关系如表3-2所示。 表3-2等价类表与测试用例的关系表
等价类是黑盒的其中一种,还有边界值,业务流,正交表,因果图,状态迁移法等