等价类划分(等价类划分法的原则是什么)
一、等价关系怎么求
等价关系是集合上的一种特殊的二元关系,它同时具有自反性、对称性和传递性。常用等价关系来划分集合,选取每类的代表元素来降低问题的复杂度,如软件测试时,可利用等价类来选择测试用例。
定义
设R是集合A上的一个二元关系,若R满足:
自反性:?a∈A,=>(a,a)∈R
对称性:(a,b)∈R∧a≠b=>(b,a)∈R
传递性:(a,b)∈R,(b,c)∈R=>(a,c)∈R
则称R是定义在A上的一个等价关系。设R是一个等价关系,若(a,b)∈R,则称a等价于b,记作a~b。
应用
例一:
设A={1,4,7},定义A上的关系R如下:
R={(a,b)|a,b∈A∧a≡bmod3}
其中a≡bmod3叫做a与b模3同余,即a除以3的余数与b除以3的余数相等。不难验证R为A上的等价关系。
设f是从A到B的一个函数,定义A上的关系R:aRb,当且仅当f(a)=f(b),R是A上的等价关系。
二、等价类划分的等价类划分的方法
按区间划分。
按数值划分。
按数值集合划分。
按限制条件或规划划分。
按处理方式划分。
等价类划分的原则如下:
在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。
在规定了输入数据的一组值中(假定有n个值),并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类和一个无效等价类。
在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类。
在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。
在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。
等价类表的建立
等价类表的建立如表3-1所示。
表3-1是等价类表的基础,可依据表3-1确定测试用例。测试用例可按下列步骤来确定:
表3-1等价类表
1)在分析需求规格说明的基础上划分等价类,列出等价类表,为每一个等价类规定一个唯一的编号。
2)将程序可能的输入数据分成若干个子集,从每个子集中选取一个有代表性的数据作为测试用例。等价类是某个输入域的子集,在该子集中的每个输入数据的作用都是等效的。
3)设计新的测试用例,使其尽可能多地覆盖未覆盖的有效等价类,按照这一步骤重复进行,直到所有的有效等价类都被覆盖为止。
4)设计新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,按照这一步骤重复进行,直到所有的无效等价类都被覆盖为止。
等价类表与测试用例的关系
等价类表与测试用例的关系如表3-2所示。
表3-2等价类表与测试用例的关系表
三、等价类划分的优点
1.是明确和简化测试用例的设计。2.等价类划分可以将测试用例分为不同的等价类,每个等价类代表了一组具有相同功能和行为的输入数据。这样可以减少测试用例的数量,同时保证覆盖了各个等价类。3.等价类划分可以有效地发现输入数据的错误和异常情况,提高测试的效率和准确性。通过对每个等价类进行测试,可以覆盖不同的情况,从而更全面地检查系统的功能和性能。等价类划分还可以与边界值分析相结合,进一步提高测试用例的设计质量。通过确定每个等价类的边界值,可以更加准确地检测系统在边界情况下的行为。同时,等价类划分也可以应用于其他领域的测试设计,如软件开发、系统集成等。