6.7.2 边界值分析
边界值分析方法是对输入或输出的边界值进行测试的一种黑盒测试方法。在测试过程中,边界值分析方法是等价类划分方法的补充,通过选择等价类边界的测试用例进行测试。边界值分析方法与等价类划分方法的区别是:边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件;另外,边界值分析不仅考虑输入条件边界,还要考虑输出域边界产生的测试情况。
(1)边界值分析法分类。按照测试数据的有效性,将边界值分析法分为标准边界值测试和健壮边界值测试。
①标准边界值测试只考虑有效数据范围内的边界值。对于一个有n个变量的程序,保留其中一个变量,其取值为最小值(Min)、略高于最小值(Min+)、正常值(Normal)、略低于最大值(Max-)、最大值(Max),让其余变量取正常值,标准边界值分析测试程序会产生4n+1个测试用例。
②健壮边界值测试会考虑有效和无效数据范围内的边界值。因此,对于一个含有n个变量的程序,保留其中一个变量,其取值为,其取值为略低于最小值(Min-)、最小值(Min)、略高于最小值(Min+)、正常值(Normal)、略低于最大值(Max-)、最大值(Max),略高于最大值(Max+),让其余变量取正常值,健壮边界值分析测试程序会产生6n+1个测试用例。
(2)边界值分析法设计原则。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入等价类与输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。边界值分析方法设计测试用例具有如下原则。
①如果输入条件规定了值的范围,则应选取刚达到范围边界的值,以及刚刚超越边界的值作为测试输入数据。
②如果输入条件规定了值的个数,则用略低于最小值(Min-)、最小值(Min)、略高于最小值(Min+)、正常值(Normal)、略低于最大值(Max-)、最大值(Max)、略高于最大值(Max+)作为测试数据。
③将原则①和②应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。
④如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例。
⑤如果程序用了一个内部结构,应取这个内部数据结构的边界值作为测试用例。(https://www.daowen.com)
⑥分析规格说明,找出其他可能的边界条件。
例6.3 使用边界值分析法对学生成绩管理系统中的学生成绩录入模块设计测试用例。
解:本例中成绩的取值范围在0~100之间的整数。成绩的边界为0或者100。
按照标准边界值分析,成绩标准边界值测试用例表如表6.10所示。
表6.10 成绩标准边界值测试用例表

按照健壮性边界值分析,成绩健壮性边界值测试用例表如表6.11所示。
表6.11 成绩健壮性边界值测试用例表
