发表于: 2018-08-27 21:21:20
1 635
今天完成的事:
看了等价类分析法
方法简介
定义:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。
划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。
有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能
无效等价类:与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
划分等价类的方法
在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;
在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);
在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
设计测试用例 在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:
为每一个等价类规定一个唯一的编号;
设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。
一、等价类划分的含义:
等价类划分是将所有可能的输入数据划分成若干个等价类,从每个等价类中选取一组数据作为测试用例。
注:各个输入元素对于揭露程序中的BUG是等价的。
二、划分等价类的方法:
1.如果输入条件规定了取值范围,可定义一个有效等价类和两个无效等价类。
例如:对于学生成绩(0~100)的测试。
有效等价类为“【0,100】”;
无效等价类为“(负无穷,0)”以及“(100,正无穷)”。
2.如果规定了输入数据的个数,可以定义一个有效等价类和两个无效等价类。
例如:规定学生选修课的门数为1~3。
有效等价类为“1~3门”;
无效等价类为“选修0门”和“选修3门以上”。
3.如果规定了输入数据的一组值,其程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类。
例如:公司对不同学历员工的待遇问题,学历一般分为大专、本科、硕士、博士等等。
对于公司要求的这几种学历分别是一个有效等价类;
不属于公司要求的则为无效等价类。
4.如果规定了输入数据必须遵循的规则,则可确定一个有效等价类和若干个无效等价类。
例如:某公司电话拨外号时,必须在开头加拨“9”。
此时有效等价类为:“9+外部号码”;
无效等价类有:“9+非外部号码”,“非9+外部号码”以及“直接拨外部号码”等。
三、测试用例的设计步骤(等价类划分):
1.对每个输入或外部条件进行等价类划分,形成等价类表,为每一等价类规定唯一编号。
2.设计一个测试用例,使它尽可能多地覆盖有效等价类,重复以上那个步骤,直到所有有效等价类均被测试用例覆盖。
3.设计一个新的测试用例,使其只覆盖一个无效等价类,直到所有的无效等价类全部都被覆盖。
例如:对招干考试的准考证号的测试,此项规定:1——行政专业;2——法律专业;3——财经专业。
则此时的有效等价类有: 1)110001~111215;
2)210001~212006;
3)310001~314015;
无效等价类有: 1)负无穷~110001;
2)111215~210001;
3)212006~310001;
4)314015~正无穷;
知道了有效等价类和无效等价类,我们就可以在每个类中选取适当的数据进行测试了。
评论