常用:等价类、边界值、判定表、流程分析法(场景分析法)、错误猜测法
目录
世界上最好的测试方法是什么?(穷举法)
1.等价类法
- 定义:某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中某一个输入不会导致问题,则集合中其他输入条件进行的测试也不可能发现问题。
- 有效等价类:有效等价类既对程序有意义、正确的输入数据。
- 无效等价类:无效等价类既对程序无意义、错误的输入数据。
等价类划分原则:
1.如果输入条件规定了取值范围或值的个数,则可以确定一个有效等价类和两个无效等价类。
比如:要求输入年龄在18-25之间,则18-25就是一个有效等价类,小于18和大于25就是两个无效等价类。
要求一个函数3个参数,则3个 参数就是一个有效等价类,大于3个和小于3个都是无效等价类。
2.输入条件规定了输入值的集合,或是规定了必须如何的条件,则可以确定一个有效等价类和一个无效等价类。
比如:要求输入学历值,学历包含大专、本科、硕士、博士、博士后,那么学历中的这些值就是一个有效等价类,凡是不属于这个学历集合中的值就是一个无效等价类。
3.在输入条件是一个布尔值的情况下,可确定一个有效等价类和一个无效等价类。
比如:要求输入性别为女,女就是一个有效等价类,男就是一个无效等价类。
4.如果我们确知,已经划分的等价类中各个元素在程序中的处理方式不同,则应该将此等价类进一步划分。
5.在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(遵守规则)和若干个无效等价类(从不同角度违反规则)
如:要求输入的数据必须是一个正整数,那么正整数就是一个有效等价类,无效等价类可以是0、负数、小数。
等价划分实例
1.如果当前时间等于12点或17点,闹铃响。请根据条件划分出等价类。
有效等价类:12点,17点
无效等价类:除了12点,17点的其他时间
2.现在有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月~2049年12月,并规定:日期由6位数字组成,前4位表示年,后2位表示月。
有效等价类:6位数字字符、1990~2049之间、01~12之间
无效等价类:
非数字字符、<6位、>6位
小于1990,大于2049
00,大于12
等价类表
- 编写等价类表,为每个输入划分等价类,得到等价类表,为每个等价类规定一个唯一编号
- 设计一个测试用例,使其尽可能多的覆盖所有尚未覆盖的有效等价类。重复这一步骤,使得有效等价类均被测试用例所覆盖。
- 设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤使得所有无效等价类均被覆盖。
输入条件 | 有效等价类 | 无效等价类 |
日期的类型和长度 | (1)6位数字字符 | (11)非数字字符 (12)小于6位 (13)大于6位 |
年份范围 | (2)1990~2049之间 | (21)小于1990 (22)大于2049 |
月份范围 | (3)01~12之间 | (31)00 (32)大于12 |
等价类数据设计 | ||
覆盖等价类编号 | ||
有效等价类 | 199102 | |