资源描述:
《等价、边界、错误推测方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、测试用例的设计方法什么是测试用例?简单概括:测试用例就是设计一个情况,软件程序在这种情况下,必须能够达到程序所设计的测试结果。等价类划分方法一.方法简介1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。2.划分等价类: 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入
2、条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 1)有效等价类 是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 2)无效等价类 与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。3.划分等价类的
3、标准:1)完备测试、避免冗余; 2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合; 3)并是整个集合:完备性; 4)子集互不相交:保证一种形式的无冗余性; 5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。4.划分等价类的方法 1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0≤X≤100输入分区取值0≤X≤100346778X<0-2-67-5X>1001201231032)在输入条件规定了输入值的集合或者规定了"必须如何
4、"的条件的情况下,可确立一个有效等价类和一个无效等价类; 3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。 4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。 例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。 5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则); 6)在确知已划分的等价类中各元素在程序处理中的方式不同
5、的情况下,则应再将该等价类进一步的划分为更小的等价类。5.设计测试用例 在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例: 1)为每一个等价类规定一个唯一的编号; 2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止; 3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。二、实战演习1.网易通行证用户名要求:由字母a-z(不区分大小写)、数字0-9、下划线组成;只能以数字
6、或字母开头;用户名长度为4-8个字符问题:用户名测试用例的等价划分?输入条有效等价类、无效等价类件?根据等价划分设计测试用例(回去思考)2.一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是一般三角形、等腰的、非等腰的、等边的、非等边的、还是非三角形。设三角形的三条边为:a.b.c,能够成三角形满足的条件为:a>0.b>0,c>0且a+b>c,b+c>a,a+c>b如果是等腰的,还要判断a=b或b=c或a=c如果是等边的,还要判断a=b且b=c且a=c列出等价类列表:输入条件有效等价类无效等价类是否能构成三角形的三条边a>
7、0(1)b>0(2)c>0(3)a+b>c(4)b+c>a(5)a+c>b(6)A≤0(7)b≤0(8)c≤0(9)a+b≤c(10)b+c≤a(11)a+c≤b(12)是否是等腰三角形a=b(13)b=c(14)a=c(15)a≠b且b≠c且a≠c(16)是否是等边三角形a=b且b=c且a=c(17)a≠b(18)b≠c(19)a≠c(20)设计测试用例:序号[a,b,c]覆盖等价类输出1[3,4,5](1),(2),(3),(4),(5),(6)一般三角形2[0,1,2](7)非三角形3[1,0,2