您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第3章(2)黑盒测试方法2-边界值分析法
软件测试第3章黑盒测试方法——边界值分析法Logo目录复习1边界值分析法概要23边界值分析法的思想4边界值分析法设计测试用例5为什么使用边界值分析法Logo第一部分:复习等价类划分法弱一般等价类测试强一般等价类测试弱健壮等价类测试强健壮等价类测试Logo划分法特点弱一般等价类测试不考虑无效等价类,选取的测试用例只需覆盖到有效等价类。强一般等价类测试不考虑无效等价类,选取测试用例时,要根据等价类笛卡儿积,各有效区间的组合都要覆盖到弱健壮等价类测试基于单缺陷假设,考虑无效等价类,选取的测试用例要覆盖每一个有效等价类和无效等价类,但时不能同时覆盖两个无效等价类。强健壮等价类测试每个无效等价类和有效等价类的组合都要覆盖到,考虑所有的有效和无效情况。Logo边界值分析法概要•边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。Logo为什么使用边界值分析法?•无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果。•例如,一个循环条件为“≤”时,却错写成“”;计数器发生少计数一次。Logo边界值分析测试的基本思想•故障往往出现在输入变量的边界值附近。例如,一个循环条件为“≤”时,却错写成“”;计数器发生少计数一次。•基于可靠性理论中称为“单故障”的假设,即有两个或两个以上故障同时出现而导致软件失效的情况很少,也就是说软件失效基本上是由单故障引起的。Logo怎样用边界值分析法设计测试用例?(1)首先确定边界情况。通常输入或输出等价类的边界就是应该着重测试的边界情况。(2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。Logo边界值分析法设计测试用例假设有两个变量x和y的程序,x、y在下列范围内取值:a≤x≤bc≤y≤d区间[a,b]和[c,d]是x、y的值域,程序F的输入定义域图所示,即带阴影矩形中的任何点都是程序F的有效输入。Logo有两个变量x、y的程序的输入域XYabd有两个变量x、y的程序的输入域cLogo有两个输入变量的程序F的边界值分析(标准性测试)测试用例:xnom,ymin;xnom,ymin+;xnom,ymax;xnom,ymax-;xmin,ynom;xmin+,ynom;xmax,ynom;xmax-,ynom;xnom,ynom;LogoXYabd有两个输入变量的程序F的边界值分析测试用例cLogo标准性(一般性)测试对于一个含有n个变量的程序,保留其中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-、max值,对每个变量都重复进行。这样,对于一个有n个变量的程序,边界值分析测试程序会产生4n+1个测试用例。Logo练习1:•有二元函数f(x,y),其中x∈[1,12],y∈[1,31]。•则采用边界值分析法设计的测试用例是:{1,15,2,15,11,15,12,15,6,15,6,1,6,2,6,30,6,31,}Logo健壮性测试•边界值分析测试的一种扩展,除了取5个边界值外,还需要考虑采用一个略超过最大值(max+)及略小于最小值(min-)的取值,检查超过极限值时系统的情况•健壮性测试最有意义的部分不是输入,而是预期的输出Logo健壮性测试•对于一个含有n个变量的程序,保留其中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、min-,nom、max-、max,max+值,对每个变量都重复进行。这样,对于一个有n个变量的程序,边界值分析测试程序会产生6n+1个测试用例。LogoXYabd有两个输入变量的程序F的健壮性测试用例cLogo有两个输入变量的程序F的边界值分析(弱健壮性测试)测试用例:xnom,ymin;xnom,ymin-;xnom,ymin+;xnom,ymax;xnom,ymax-;xnom,ymax+xmin,ynom;xmin-,ynom;xmin+,ynom;xmax,ynom;xmax-,ynom;xmax+,ynom;xnom,ynom;Logo练习2:•有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用边界值分析法设计的测试用例。•{2000,6,1,2000,6,2,2000,6,02000,6,30,2000,6,31,2000,6,292000,1,15,2000,2,15,2000,0,15,2000,11,15,2000,12,15,2000,13,151900,6,15,1901,6,15,1899,6,152099,6,15,2100,6,15,2101,6,152000,6,15}Logo•NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。要求输入变量month、day和year均为整数值,并且满足下列条件:•条件11≤month≤12•条件21≤day≤31•条件31912≤year≤2050问题:NextDate函数LogoNextDate函数的边界值分析测试用例测试用例monthdayyear预期输出Test1Test2Test3Test4Test5Test6Test76666666151515151515151911191219131975204920502051year超出[1912,2050]1912.6.161913.6.161975.6.162049.6.162050.6.16year超出[1912,2050]Logo测试用例monthdayyear预期输出Test8Test9Test10Test11Test12Test13666666012303132200120012001200120012001day超出[1,31]2001.6.22001.6.32001.7.1输入日期超界day超出[1,31]Logo测试用例monthdayyear预期输出Test14Test15Test16Test17Test18Test19-112111214151515151515200120012001200120012001month超出[1,12]2001.1.162001.2.162001.11.162001.12.16month超出[1,12]Logo常见的边界值•对16-bit的整数而言32767和-32768是边界•屏幕上光标在最左上、最右下位置•报表的第一行和最后一行•数组元素的第一个和最后一个•循环的第0次、第1次和倒数第2次、最后一次Logo边界值分析法的原则•1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。•例如,如果程序的规格说明中规定:重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。Logo边界值分析法的原则•2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。•比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。Logo边界值分析法的原则•3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。•例如,某程序的规格说明要求计算出每月保险金扣除额为0至1165.25元,其测试用例可取0.00及1165.24、还可取一0.01及1165.26等。再如一程序属于情报检索系统,要求每次最少显示1条、最多显示4条情报摘要,这时我们应考虑的测试用例包括1和4,还应包括0和5等。Logo边界值分析法的原则4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。6)分析规格说明,找出其它可能的边界条件。Logo3、最坏情况测试•边界值分析采用可靠性理论中的单缺陷假设,如果不考虑这种假设,那么,应该关心当多个变量取极值时会出现什么情况。Logo最坏情况测试•使用这种思想生成最坏情况的测试用例,首先对每个变量进行包含最小值min,略高于最小值min+,正常值nom,略低于最大值max-和最大值max五个元素集合的测试,然后对这些集合进行笛卡儿积计算,以生成测试用例。Logo最坏情况测试adcbx1x2Logo最坏情况测试•最坏情况测试比边界值分析测试以及健壮性测试要彻底,边界值分析测试用例是最坏情况测试用例的真子集。•N变量函数的最坏情况测试,会产生5n个测试用例,而边界值分析只产生4n+1个测试用例Logo健壮最坏情况测试首先对每个变量进行包含略小于最小值min-,最小值min,略高于最小值min+,正常值nom,略低于最大值max-,最大值max,和略大于最大值max+,七个元素集合的测试,然后对这些集合进行笛卡儿积计算,以生成测试用例。Logo健壮最坏情况测试adcbx1x2Logo习题:•找零钱最佳组合•假设商店货品价格(R)都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、5元(N5)、1元(N1)四种。•请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。
本文标题:第3章(2)黑盒测试方法2-边界值分析法
链接地址:https://www.777doc.com/doc-4289568 .html