文档介绍:软件测试技术-黑盒测试
张志强
2006
第五章黑盒测试
等价类划分
因果图
边值分析
判定表驱动测试
功能测试回顾
等价类划分
既然穷举测试的方法无法实际完成,自然促使我们在大量的可能数据中选择其中的一部分作为测试用例,问题在于如何选取
等价类划分就是把程序的输入域分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。
使用这种方法设计测试用例,首先必须在分析需求说明的基础上划分等价类,列出等价类表
划分等价类
所谓等价类是指某个输入域的集合,它表示如果用集合中的一个输入条件作为测试数据进行功能测试不能发现程序中的错误,那么使用集合中的其他输入条件进行测试也不能发现错误,也就是说,对于揭露程序中的错误来说,集合中的每个输入条件是等效的
例如,如果以2和3分别作为输入,某一个程序的两个测试数据,它们具有等价的测试效果(既如果以2作为测试数据,在程序中能暴露某个错误,以3为输入的话,也能发现同一个错误)
划分等价类
有效等价类
指对程序的规格说明是有意义的、合理的输入数据所构成的集合。可以是一个,也可以是多个。
例如,要求输入变量为整数,那么3,-4等均为有效输入
无效等价类
指对程序规格说明是不合理的或无意义的输入数据所构成的集合,可以是一个,也可以是多个
,abc等为无效输入
确定等价类的原则
如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类
例1,如规格说明中提到的输入条件为“项数取值范围为1到99”,则可确定一个有效等价类“1<项数<99”,无效等价类“项数<1”和“项数>99”
例2,规格说明书中提到“学生允许选修2至4门课”,有效等价类可取“选课2至4门”,无效等价类为“只选一门或未选课”,及“选课超过4门”
确定等价类的原则
输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。
例1,某程序规格说明中提到的输入条件包括“统计全国各省、市、自治区的人口”,则应取“国内省市自治区”为有效等价类,“非国内省市自治区”为无效等价类
例2,一个标识符输入条件规定“标识符应以字母开头”,则“以字母开头者”作为有效等价类,“以非字母开头”为无效等价类。
确定等价类的原则
如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应该将此等价类进一步划分成更小的等价类
等价类划分完之后,一般要列出一个等价类表
输入条件
有效等价类
无效等价类
……
……
……
……
……
……
确定测试用例
根据已列出的等价类表,按以下步骤确定测试用例
为每个等价类规定一个唯一的编号
设计一个测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖
设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。
实例说明一
“输入三个整数作为三边的边长构成三角形,当此三角形为一般三角形、等腰三角形及等边三角形时,分别做计算……”