划分等价类原则
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、等价类划分法的概念
等价划分法是黑盒测试用例设计中一种常用的设计方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。
等价类划分法是把所有的可能性的输入数据,即程序的输入域划分成若干子集,然后从每一个子集中选取少数具有代表性的数据作为测试用例。所谓等价类是指输入域的某个子集合,所有等价类的并集就是整个输入域。在等价类中,各个输入数据对于揭露程序中的错误是等效的,它们具有等价性。
二、等价类划分原则
1、如果规定了输入条件的取值范围或者个数,则可以确定一个有效等价类和两个无效等价类。
例如,程序要求输入的数值是从10到20之间的整数,则有效等价类为“大于等于10而小于等于20的整数”,两个无效等价类为“小于10的整数”和“大于20的整数”
2、如果规定了输入值的集合,则可以确定一个有效等价类和一个无效等价类。
例如,程序要进行平方根运算,则“大于等于0的数”为有效等价类,“小于0的整数”为无效等价类。
3、如果规定了输入数据的一组值,并且程序要求每一个输入值分别进行处理,则可以为每一个确定一个有效等价类,此外根据这组值确定一个无效等价类,即所有不允许的输入值的集合。
例如,程序规定某个输入条件x的取值只能为集合{1,3,5,7}中的某一个,则有效等价类为 x=1,x=3,x=5,x=7,程序对这4个数值分别进行处理;无效等价类为x不等于1,3,5,7的值的集合。
4、如果规定了输入数据必须遵守的规则,则可以确定一个有效等价类和若干个无效等价类。
例如,程序中某个输入条件规定必须4位数字,则可以划分一个有效等价类为输入数据为4位数字,3个无效等价类分别为输入数据中含有非数字字符、输入数据少于4位数学、输入数据多于4位数字。
5、如果已知的等价类中各个元素在程序中的处理方式不同,则应将等价类进一步划分成更小的等价类。
在确立了等价类之后,建立等价类表,列出所有划分的等价类
再根据列出的等价类表,按以下步骤确定测试用例:
(1)为每一个等价类规定一个惟一的编号;
(2)设计一个新的测试用例,合其尽可能多的覆盖未覆盖的有效等价类,重复这个过程,直到所有的有效等价类均被测试用例所覆盖;
(3)设计一个新的测试用例,使其公覆盖一个无效的等价类,重复这个过程,直至所有的无效等价类均被测试用例所覆盖。
常见等价类划分形式
针对是否对无效数据进行测试,可以将等价类测试分为标准等价类测试、健壮等价
类测试及对对等区间划分。
1、标准等价类测试
标准等价类测试不考虑无效数据值,测试用例使用每一个等价类中的一个值。通常标准等价类测试用例的数量和最大等价类中的元素的数目相等。
2、健壮等价类测试
健壮测试类测试 主要的出发是考虑了无效等价类。
对有效输入,测试用例从每一个有效等价类中取一个值;对无效输入,一个测试用例有一个无效值,其他值均取有效值。
健壮等价类测试存在两个问题;
(1)需要花费精力定义无效测试用例的期望输出;
(2)对强类型的语言没有必要考虑无效的输入。
3、对等区间划分
首先呢,它是测试用例设计的非常规形式的方法。它将被测对象的输入/输出划分成一些区间,被测软件对一个特定区间的任何值都是等价的。形成测试区间的数据不只是函数/过程的参数,也可以是程序可以访问的全局变量、系统资源等,这些变量或资源可以是以时间形式存在的数据,或以状态形式存在的输入/输出。
对等区间划分假定位于单个区是的所有的值对测试都是对等的,应为每个区间的一个值设计一个测试用例。