1. 等价类划分
2. 边界值分析
3. 错误推测法
4. 因果图
一、等价类划分
定义:等价类划分设计方法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。
等价类是指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的(可合理假设:测试某等价类的代表值就等于对这一类其他值的测试)。
确定等价类的原则:
1、如果输入条件规定了取值范围,或者是值得个数,则可以确立一个有效等价类和两个无效等价类。
例如:序号值可以从1到999。
一个有效等价类:1<=序号值<=999
两个无效等价类:序号值<1,序号值>999
2、如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,可确立一个有效等价类和一个无效等价类。
例如:在C语言中对变量标识符规定为“以字母打头的”。
所有字母打头的构成有效等价类
不在此集合内的为无效等价类
3、如果输入条件是布尔量,确立一个有效等价类和一个无效等价类
例如:0和1,是和非
4、如果规定了输入数据是一组值,而且程序要对每个输入值分别进行处理,这时可为每一个输入值确立一个有效等价类,此外再针对这组值确立一个无效等价类,它应是所有不允许输入值的集合。
例如:在规定教师分房方案中对教授、副教授、讲师和助教分别计算分数,然后做处理。
四个有效等价类为:教授、副教授、讲师、助教
一个无效等价类,即所有不符合以上四个的集合
5、如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合的),和若干无效等价类(以不同角度违反规则)。
例如:在C语言中,规定“一个语句必须以分号‘;’结束”。
一个有效等价类:以“;”结束
若干无效等价类:以“;,.”等符号结束
6、如果确定以划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分为更小的等价类。
每一个无效等价类至少要用一个测试用例,否则就有可能漏掉某一类错误,但允许若干个有效等价类合用同一个测试用例,以便进一步减少测试次数。
确立测试用例原则:
1、为每一个等价类规定一个唯一的编号。
2、设计一个新的测试用例,使其尽可能的覆盖尚未被覆盖的有效等价类,重复,直至覆盖所有的有效等价类。
3、设计一个新的测试用例,使其仅覆盖尚未被覆盖的无效等价类,重复,直至覆盖所有无效等价类。