D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,D,Click to Edit Master Text Styles,SECOND LEVEL,THIRD LEVEL,*,E.Angel and D.Shreiner:Interactive Computer Graphics 6E Addison-Wesley 2012,1,软件质量保证与测试,2,内容,(,1,)等价类划分,等价类理论,互动,“大学管理系统”等价类测试,互动,(,2,)边界值分析,边界值方法,互动,“大学管理系统”边界值测试,互动,3,等价类划分,1.,等价类划分,等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。,使用等价类划分法设计测试用例时,要同时考虑有效等价类和无效等价类。,有效等价类,对于程序的规格说明来说,是合理的、有意义的输入数据所构成的集合;,无效等价类,对于程序的规格说明来说,是不合理的、没有意义的输入数据所构成的集合;,4,等价类划分,假定一台,ATM,机允许提取增量为,50,元,总金额从,1002000,(包含,2000,元)不等的金额,请等价类方法进行测试。,有效等价类,编号,无效等价类,编号,整数,1,浮点数,4,在,100,到,2000,之间,2,小于,100,5,大于,2000,6,能被,50,整除,3,不能被,50,整除,7,1.,划分等价类,如下表所示。,例,1,:,5,等价类划分,例,1,2.,设计测试用例,如下表所示。,用例编号,输入数据,预期结果,覆盖的等价类,1,100,提取成功,1,、,2,、,3,2,100.5,提示:输入无效,4,3,50,提示:输入无效,5,4,2050,提示:输入无效,6,5,101,提示:输入无效,7,6,等价类划分,假定一台,ATM,机允许提取增量为,50,元,总金额从,1002000,(包含,2000,元)不等的金额,请等价类方法进行测试。,例,1,:,volunteer?,7,等价类划分,假定一台,ATM,机允许提取增量为,50,元,总金额从,1002000,(包含,2000,元)不等的金额,请等价类方法进行测试。,有效等价类,编号,无效等价类,编号,整数,1,浮点数,4,在,100,到,2000,之间,2,小于,100,5,大于,2000,6,能被,50,整除,3,不能被,50,整除,7,1.,划分等价类,如下表所示。,8,等价类划分,2.,设计测试用例,如下表所示。,用例编号,输入数据,预期结果,覆盖的等价类,1,100,提取成功,1,、,2,、,3,2,100.5,提示:输入无效,4,3,50,提示:输入无效,5,4,2050,提示:输入无效,6,5,101,提示:输入无效,7,9,等价类划分,例,2,:,volunteer?,10,等价类划分,例,2,:,11,等价类划分,例,2,:,12,等价类划分,13,等价类划分,14,等价类划分,15,等价类划分,16,等价类划分,(4),17,边界值分析,边界值分析法的定义,:,边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。,18,边界值分析,边界值分析关注的是输入空间的边界。,确定边界值应遵循以下几条原则:,如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。,如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。,如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试数据。,如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。,分析规格说明,找出其他可能的边界条件。,19,边界值分析,volunteer?,例:,有一个小程序,能够求出三个在,0,到,9999,间整数中的最大者,请边界值测试方法设计测试用例。,20,边界值分析,例:,有一个小程序,能够求出三个在,0,到,9999,间整数中的最大者,请边界值测试方法设计测试用例。,(,1,)各变量分别取略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值和略大于最大值,所以,A,、,B,、,C,分别取值为:,-1,、,0,、,1,、,5000,、,9998,、,9999,、,10000,。,(,2,)设计测试用例。,21,边界值分析,为什么使用边界值分析法?,无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果。,怎样用边界值分析法设计测试用例?,(,1,)首先确定边界情况。通常输入或输出等价类的边界就是应该着重测试的边界情况。,(,2,)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。,22,边界值分析,volunteer?,常见的边界值有哪些?,23,边界值分析,对,16-bit,的整数而言,32767,和,-32768,是边界,屏幕上光标在最左上、最右下位置,报表的第一行和最后一行,数组元素的第一个和最后一个,循环的第,0,次、第,1,次和倒数第,2,次、最后一次,24,边界值分析,volunteer?,等价类分析与边界值的区别?,请举例说明,25,边界值分析,边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。,例,:测试计算平方根的函数,输入:实数,输出:实数,规格说明:当输入一个,0,或比,0,大的数的时候,返回其正平方根;当输入一个小于,0,的数时,显示错误信息“平方根非法,-,输入值小于,0”,并返回,0,;库函数,Print-Line,可以用来输出错误信息。,26,边界值分析,例,:测试计算平方根的函数,输入:实数,输出:实数,规格说明:当输入一个,0,或比,0,大的数的时候,返回其正平方根;当输入一个小于,0,的数时,显示错误信息“平方根非法,-,输入值小于,0”,并返回,0,;库函数,Print-Line,可以用来输出错误信息。,volunteer?,给出等价类、边界值方案?,27,边界值分析,等价类划分:,可以考虑作出如下划分:,输入,(,i)=0,输出(,a)=0,和(,b)Error,测试用例有两个:,输入4,输出2。对应于(,ii),和(,a),。,输入-10,输出0和错误提示。对应于(,i),和(,b),。,边界值分析:,划分(,ii),的边界为0和最大正实数;划分(,i),的边界为最小负实数和0。由此得到以下测试用例:,输入 最小负实数,输入 绝对值很小的负数,输入 0,输入 绝对值很小的正数,输入 最大正实数,28,边界值分析,通常情况下,软件测试所包含的边界检验有几种类型:,数字、字符、位置、质量、大小、速度、方位、尺寸、空间等,相应地,以上类型的边界值应该在:,最大,/,最小、首位,/,末位、上,/,下、最快,/,最慢、最高,/,最低、最短,/,最长、空,/,满等情况下,29,边界值分析,项,边界值,测试用例的设计思路,字符,起始,-1,个字符,/,结束,+1,个字符,假设一个文本输入区域允许输入,1,个到,255,个 字符,输入,1,个和,255,个字符作为有效等价类;输入,0,个和,256,个字符作为无效等价类,这几个数值都属于边界条件值。,数值,最小值,-1/,最大值,+1,假设某软件的数据输入域要求输入,5,位的数据值,可以使用,10000,作为最小值、,99999,作为最大值;然后使用刚好小于,5,位和大于,5,位的 数值来作为边界条件。,空间,小于空余空间一点,/,大于满空间一点,例如在用,U,盘存储数据时,使用比剩余磁盘空间大一点(几,KB,)的文件作为边界条件。,30,边界值分析,在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。,内部边界值条件主要有下面几种: