边界值分析法是对等价类分析方法的补充,其理论基础是假定大多数的错误是发生在各种输入条件的边界上,如果边界附近的取值不会导致程序出错,那么其他的取值导致程序出错的可能性很小。
边界值分析法的使用条件
输入条件规定了一个值的取值范围或规定了值的个数。
输入条件规定了一个有序集合。
1、边界点定义
上点:边界上的点。若边界是封闭的,上点就在域内。若边界是开放的,上点就在域外。
离点:离上点最近的一个点。若边界是封闭的,离点就在域外。若边界是开放的,离点就在域内。(上点和离点总有一个在域内,一个在域外)。
内点:域内的任意一个点。
2、边界值分析的原则
若输入(输出)条件规定了值的取值范围,则以该范围的边界内和边界附近的值作为测试用例。
若输入(输出)条件规定了值的个数,则以最大个数、最小个数、比最大个数多一、比最小个数少一的数作为测试用例。
若规格说明书中规定输入或输出是一个有序集合,则选取有序集合的第一个和最后一个元素作为测试用例。
若程序使用了一个内部数据结构,则选择这个数据结构的边界上的值作为测试用例。
3、示例(年份、月份)
有一Web系统某查询条件是 1990 年 1 月到 2049 年 12 月,由 6 为数组表示,前 4 位表示年份,后 2 位表示月份
从日期的长度角度,考虑 5 位的数字字符、7 位的数字字符
从年份的取值范围角度,考虑年份 1989、1990、2049、2050
从月份的取值范围角度,考虑月份 00、01、12、13