您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 51CTO下载-2、等价类划分法(1)
3Sept.2008©NeusoftConfidential1功能测试技术—等价类划分法2主要内容•什么是等价类划分法•等价类的类型•等价类的划分原则•等价类划分法设计测试用例的步骤3•等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。•等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。•原因:不可能实现穷举测试,可以从大量的可能数据中选取一部分具有代表性的数据作为测试用例。•效果:经过类别划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值。•手段:在设计测试用例时,在需求说明的基础上划分等价类,列出等价表,从而确定测试用例。等价类划分法4等价类划分法•等价类划分法设计测试用例要经历两个步骤:–划分等价类(列出等价类表)–选取测试用例•等价类的划分有两种不同的情况:–有效等价类–无效等价类5等价类的类型•有效等价类–对需求规格说明而言,有意义、合理的输入数据所组成的集合。–检验程序是否实现了需求规格说明预先规定的功能和性能。•无效等价类–对需求规格说明而言,无意义的、不合理的输入数据所组成的集合–检查被测对象的功能和性能的实现是否有不符合需求规格说明要求的地方。6•先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分等价类,形成若干互不相交的子集。•给出1到100之间两个整数相加的测试用例如何划分等价类7考虑输入数据类型和范围加数数值非数值整数小数(4)1(1)1~100(2)100(3)字母(5)特殊字符(6)空格(7)空白(8)8等价类的划分原则(1)按照区间划分在输入条件规定了取值范围的情况下,可以确定有效等价类和无效等价类。例:程序输入条件为小于100大于10的整数x,则有效等价类为10<x<100,两个无效等价类为x≤10和x≥100。9(2)按照数值划分在规定了一组输入数据(假设包括n个输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定n个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。等价类的划分原则10(3)按照限制条件或规则划分在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例:程序输入条件为奇数的整数x,则有效等价类为x的值为奇数的整数,无效等价类为x的值不为奇数的数。例:程序输入用户口令的长度必须是4位的字符串,可以确定一个有效等价类是输入字符串的长度为4,一个无效等价类长度不为4。等价类的划分原则11(4)细分等价类在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。例:程序输入条件为以字符‘a’开头、长度为8的字符串,并且字符串不包含‘a’-‘z’之外的其它字符,则有效等价类为满足了上述所有条件的字符串,无效等价类为不以‘a’开头的字符串、长度不为8的字符串和包含了‘a’-‘z’之外其它字符的字符串。等价类的划分原则12等价类测试用例设计•针对是否对无效数据进行测试,可以将等价类测试分为标准等价类测试和健壮等价类测试。标准等价类测试——不考虑无效数据值,测试用例使用每个等价类中的一个值。健壮等价类测试——主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个“无效值”,其他值均取“有效值”。健壮等价类测试存在两个问题:(1)需要花费精力定义无效测试用例的期望输出(2)对强类型的语言没有必要考虑无效的输入,程序可以自己检测。13(1)确定等价类(2)建立等价类表,列出所有划分出的等价类(3)从划分出的等价类中按以下原则设计测试用例:A.为每一个等价类规定一个唯一的编号B.设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步。C.设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步。等价类划分法设计测试用例的步骤14某城市电话号码由三部分组成,分别是:地区码—空白或三位数字;前缀—非‘0’或‘1’开头的三位数字;后缀—4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。案例115多于3位数字少于3位数字有非数字字符空白3位数字地区码编号无效等价类编号有效等价类输入条件前缀200~999有非数字字符起始位为’0’起始位为’1’少于3位数字多于3位数字后缀4位数字有非数字字符少于4位数字多于4位数字341256789101112131415划分等价类、列出等价类表16测试用例编号输入数据预期输出地区码前缀后缀1空白3214567接受(有效)21238059876接受(有效)320A3214567拒绝(无效)4332345678拒绝(无效)512342344567拒绝(无效)61232B31234拒绝(无效)71230131234拒绝(无效)81231231234拒绝(无效)9123231234拒绝(无效)1012323451234拒绝(无效)111232341B34拒绝(无效)1212323434拒绝(无效)1312323423345拒绝(无效)覆盖等价类1,3,42,3,45678910111213141517•某保险公司的人寿保险的保费计算方式为:投保额×保险费率,其中保险费率依点数不同而不同,10点及以上保险费率为0.6%,10点以下保险费率为0.1%;而点数由投保人年龄、性别、婚姻和抚养人数(最多9人)所得的点数的总和来决定,规则如下:年龄性别婚姻抚养人数20~3940~59其它MF已婚未婚1人扣0.5点,最多扣3点(四舍五入取整)6点4点2点5点3点3点5点案例2:保险公司计算保费费率的程序18本章小结•什么是等价类划分法•等价类的类型•等价类的划分原则•等价类划分法设计测试用例的步骤
本文标题:51CTO下载-2、等价类划分法(1)
链接地址:https://www.777doc.com/doc-3368071 .html