5.1.3 边界值法
边界值的选择可以分为二值边界测试和三值边界测试。对于二值边界测试,应为每个边界选择两个输入,这些输入对应于边界上的值和等价划分边界外的增量距离;对于三值边界测试,应为每个边界选择三个输入,这些输入对应于边界上的值和等价划分边界的每一次的增量距离。增量距离应定义为对应的数据类型的最小有效值。
二值边界测试在大多数情况下是充分的;但是,在某些情况下可能需要进行三值边界测试(例如:测试人员和开发人员在确定被测软件中变量的边界没有发生错误时的严格测试)
1、二值基本边界值分析
边界值测试的另一个关键假设是认为:失效极少是由两个(或多个)缺陷的同时发生引起的,在可靠性理论上叫作“单缺陷”假设,这种依据“单缺陷”,这种依据“单缺陷”假设的边界值测试称为基本边界值分析。
在边界值测试时,我们通常使用二值边界,再辅助以正常值来设计输入变量的值。
对于只有x和y两个输入变量的软件,其输入域在二位坐标系中就是阴影所标示出来的部分。采用基本边界值分析得到的测试用例就是黑点所在位置,一共九个测试用例。
如果有一个n变量的软件输入域,使其中一个变量略小于最小值、最小值、正常值、最大值、略大于最大值这样五种选择,其余的所有变量取正常值。该N变量软件输入域的边界值分析会产生4n+1个测试用例。
2、三值基本边界值分析
对于只有x和y两个输入变量的软件,使每个变量略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、略大于最大值这样七种选择,其余的所有变量取正常值。
对于一个n变量输入域,三值基本边界分析将会产生6n+1个测试用例。
3、最坏情况边界值分析
最坏情况边界值分析是在“多缺陷”假设的情况,即程序的失效是由于两个(或多个)变量在其边界值取值共同引起的,这在电子电路分析中称为“最坏情况测试”。
针对n个变量的输入域,最坏情况测试用例将是五元素集合的笛卡尔积,会产生5^n个测试用例。
4、健壮最坏情况测试
对于确实极端的测试,会采用健壮最坏情况测试,把略小于最小值、略大于最大值的两个无效值考虑在内,同时考虑最坏情况,使用七元素集合的笛卡尔积,会产生7^n个测试用例。
5、边界值的获取
依据产品产品说明书/需求规格说明等中的输入域范围可以明显地获得一些数值型参数的边界,或者在使用软件的过程中可以容易找到。一些常见的边界值包括:屏幕光标的最左上、右下位置,报表的第一行和最后一行,数组元素的第一个和最后一个,循环的第0次、第1次和最后1次,等等。
上点:边界上的点(即范围上的点)
离点:离上点最近的点,如果输入域是封闭的,则离点在范围外;如果输入域是开区间,则离点在域的范围内
内点:在输入域内任意一个点(一般取中间值)
软考试题
用边界值分析法,假定1<x<10,那X在测试中应该取的边界值是(A)
A.X=1,X=2,X=9,X=10
B.X=2,X=9
C.X=1,X=10
D.X=1,X=5,X=6,X=10
上点:边界上的点,范围为(1,10),上点就是1,10
离点:由于都是开区间,即要向内取值,取得值为2,9
内点:范围内取一个值,一般取中间值