边界值测试要点
软件黑盒测试的常用方法有路径分析法,边界取值法,等价类划分等方法。而边界取值一般就是针对输入的数据,我们取刚好达到这个范围边界的值以及刚刚超过这个范围边界的值进行测试。日常工作中,我们常将边界取值和等价类划分结合使用;如果没有等价类,则使用一个或若干个合理值。
比如有这个么例子:一个输入文件有1-255个记录,我们测试时,可以尝试输入0,1,255,256个记录(这些是边界取值),以及输入2,10,254个记录(这些是合理值)。
我们再看一个例子:一个输入信息,有着年月日三个输入子项。假定年份的合理范围是2000-2010;月的范围是1-12;日的范围是1-31。如果不采用边界取值,我们需要13×14×33=6006个测试用例。如果采用边界取值结合合理值,年份可以取1999,2000,2001,2009,2010,2011;月份可以取0,1,11,12,13;日子可以取0,1,30,31,32;据此我们计算需要6×5×5=150个测试用例。和6006个相比,大大的降低的测试用例数目。不过存在一个问题,当我们编写150个测试用例的背景是在一个只有输入信息的程序中,工作量不大;如果是一个简单的信息输入界面,光年月日就耗费150个用例,则整个用例数目还是相当可观的。
我们可以将边界取值法做个改进。在已经获得的边界值中,筛选出我们真正需要的测试用例。在一侧的边界值中,我们选择年月日三个输入项同时为假的输入值(只需1个),接着选择三个输入项中2个同时为假(只需3个),接着是三个输入项中3个分别为假(只需3个),这一侧我们共计有7个‘假’的测试用例。我们到另一侧边界值,同理我们可获得7个‘假’的测试用例。再加上我们随机选取一个三个输入项同时为真的输入值(选取一个合理值的测试用例)。筛选后,我们只需要15个测试用例就能完成。
这里有个问题,从150个用例缩减到15个,其中会不会遗漏掉原本不应该被遗漏的用例?可能会有。这个可能性以及可能的大小根据项目规模和项目种类不同而不同。但是这个方法可以使得我们可以在最短的时间内将尽可能多的bug发掘并修复,降低风险。