第3章(2)黑盒测试方法2-边界值分析法



《第3章(2)黑盒测试方法2-边界值分析法》由会员分享,可在线阅读,更多相关《第3章(2)黑盒测试方法2-边界值分析法(37页珍藏版)》请在文档大全上搜索。
1、软件测试软件测试第第3 3章章 黑盒测试方法黑盒测试方法 边界值分析法边界值分析法Logo目目 录录复习复习1边界值分析法概要边界值分析法概要23边界值分析法的思想边界值分析法的思想4边界值分析法设计测试用例边界值分析法设计测试用例5为什么使用边界值分析法为什么使用边界值分析法Logo等价类划分法弱一般等价类测试强一般等价类测试弱健壮等价类测试强健壮等价类测试Logo划分法特点弱一般等价类测试弱一般等价类测试强一般等价类测试强一般等价类测试弱健壮等价类测试弱健壮等价类测试强健壮等价类测试强健壮等价类测试Logo边界值分析法概要边界值分析法概要 边界值分析法就是边界值分析法就是 对输入或输出的边
2、界值对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边这种情况下,其测试用例来自等价类的边界。界。Logo为什么使用边界值分析法?为什么使用边界值分析法? 无数的测试实践表明,大量的故障往往发无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效设计测试用例,通常会取得很好的测试效果。果
3、。 例如,一个循环条件为例如,一个循环条件为“”“”时,却错写时,却错写成成“”;计数器发生少计数一次。;计数器发生少计数一次。Logo边界值分析测试的基本思想边界值分析测试的基本思想 故障往往出现在输入变量的边界值附近。例如,故障往往出现在输入变量的边界值附近。例如,一个循环条件为一个循环条件为“”“”时,却错写成时,却错写成“”;计数;计数器发生少计数一次。器发生少计数一次。 基于可靠性理论中称为基于可靠性理论中称为“单故障单故障”的假设,即有的假设,即有两个或两个以上故障同时出现而导致软件失效的两个或两个以上故障同时出现而导致软件失效的情况很少,也就是说软件失效基本上是由单故障情况很少,
4、也就是说软件失效基本上是由单故障引起的。引起的。Logo怎样用边界值分析法设计测试用例?怎样用边界值分析法设计测试用例?(1 1)首先确定边界情况。通常输入或输出等)首先确定边界情况。通常输入或输出等价类的边界就是应该着重测试的边界情况。价类的边界就是应该着重测试的边界情况。(2 2)选取正好等于、刚刚大于或刚刚小于边)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类界的值作为测试数据,而不是选取等价类中的典型值或任意值。中的典型值或任意值。Logo边界值分析法设计测试用例边界值分析法设计测试用例假设有两个变量假设有两个变量x x和和y y的程序,的程序,x x、y y在
5、下列范在下列范围内取值:围内取值:axbaxbcydcyd区间区间a,ba,b和和c,dc,d是是x x、y y的值域,程序的值域,程序F F的输的输入定义域图所示,即带阴影矩形中的任何入定义域图所示,即带阴影矩形中的任何点都是程序点都是程序F F的有效输入。的有效输入。Logo有两个变量有两个变量x x、y y的程序的输入域的程序的输入域Logo有两个输入变量的程序有两个输入变量的程序F F的边界值分的边界值分析(标准性测试)测试用例:析(标准性测试)测试用例:;LogoLogo标准性标准性( (一般性一般性) )测试测试对于一个含有对于一个含有n n个变量的程序,保留其中一个变个变量的程序
6、,保留其中一个变量,让其余的变量取正常值,被保留的变量量,让其余的变量取正常值,被保留的变量依次取依次取minmin、min+min+、nomnom、max-max-、maxmax值,对每值,对每个变量都重复进行。这样,对于一个有个变量都重复进行。这样,对于一个有n n个变个变量的程序,边界值分析测试程序会产生量的程序,边界值分析测试程序会产生4n+14n+1个测试用例。个测试用例。Logo练习练习1 1: 有二元函数有二元函数f(x,y)f(x,y),其中,其中x1,12x1,12,y1,31y1,31。 则采用边界值分析法设计的测试用例是:则采用边界值分析法设计的测试用例是:n , , ,
7、 , , , , , , , , , , , , , , , Logo健壮性测试健壮性测试 边界值分析测试的一种扩展,除了取边界值分析测试的一种扩展,除了取5 5个边个边界值外,还需要考虑采用一个略超过最大界值外,还需要考虑采用一个略超过最大值值(max+)(max+)及略小于最小值及略小于最小值(min-)(min-)的取值,的取值,检查超过极限值时系统的情况检查超过极限值时系统的情况 健壮性测试最有意义的部分不是输入,而健壮性测试最有意义的部分不是输入,而是预期的输出是预期的输出Logo健壮性测试健壮性测试 对于一个含有对于一个含有n n个变量的程序,保留其中一个变量的程序,保留其中一个变
8、量,让其余的变量取正常值,被保留个变量,让其余的变量取正常值,被保留的变量依次取的变量依次取minmin、min+min+、min-,nommin-,nom、max-max-、max, max+max, max+值,对每个变量都重复进行。这值,对每个变量都重复进行。这样,对于一个有样,对于一个有n n个变量的程序,边界值分个变量的程序,边界值分析测试程序会产生析测试程序会产生6n+16n+1个测试用例。个测试用例。LogoLogo有两个输入变量的程序有两个输入变量的程序F F的边界值分析的边界值分析(弱健壮性测试)测试用例:(弱健壮性测试)测试用例:;Logo练习2: 有函数有函数f(x,y,
9、z)f(x,y,z),其中,其中x1900,2100 x1900,2100,y1,12y1,12,z1,31z1,31的。请写出该函数采用边界值分析法设计的。请写出该函数采用边界值分析法设计的测试用例。的测试用例。 , , , , , , , , , , , , , , , , , , , , , , , , Logo NextDateNextDate函数包含三个变量函数包含三个变量monthmonth、dayday和和yearyear,函数的输出为输入,函数的输出为输入日期后一天的日期。日期后一天的日期。 要求输入变量要求输入变量monthmonth、dayday和和yearyear均为整数
10、值,并且满均为整数值,并且满足下列条件:足下列条件: 条件条件1 1 month 121 1 month 12 条件条件2 1 day 312 1 day 31 条件条件3 1912 year 3 1912 year 20502050问题:问题:NextDateNextDate函数函数LogoNextDateNextDate函数的边界值分析测试用例函数的边界值分析测试用例测试用例monthdayyear预期输出Test1Test1Test2Test2Test3Test3Test4Test4Test5Test5Test6Test6Test7Test76 66 66 66 66 66 66 615