软件测试等价类划分,边界值划分

上传人:汽*** 文档编号:584896140 上传时间:2024-09-01 格式:PPT 页数:55 大小:1.59MB
返回 下载 相关 举报
软件测试等价类划分,边界值划分_第1页
第1页 / 共55页
软件测试等价类划分,边界值划分_第2页
第2页 / 共55页
软件测试等价类划分,边界值划分_第3页
第3页 / 共55页
软件测试等价类划分,边界值划分_第4页
第4页 / 共55页
软件测试等价类划分,边界值划分_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《软件测试等价类划分,边界值划分》由会员分享,可在线阅读,更多相关《软件测试等价类划分,边界值划分(55页珍藏版)》请在金锄头文库上搜索。

1、1内容内容(1)等价类划分等价类理论互动“大学管理系统”等价类测试互动(2)边界值分析 边界值方法互动“大学管理系统”边界值测试互动2等价类划分等价类划分l 1.1.等价类划分等价类划分等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。使用等价类划分法设计测试用例时,要同时考虑有效等价类和无效等价类。u 有效等价类对于程序的规格说明来说,是合理的、有意义的输入数据所构成的集合;u 无效等价类对于程序的规格说明来说,是不合理的、没有意义的输入数据所构成的集合;3等价类划分等价类划分 假定一台ATM机允许提取增量为50

2、元,总金额从1002000(包含2000元)不等的金额,请等价类方法进行测试。有效等价类有效等价类编号编号无效等价类无效等价类编号编号整数1浮点数4在100到2000之间2小于1005大于20006能被50整除3不能被50整除71. 划分等价类,如下表所示。例1:4等价类划分等价类划分例12.设计测试用例,如下表所示。用例编号输入数据预期结果覆盖的等价类1100提取成功1、2、32100.5提示:输入无效4350提示:输入无效542050提示:输入无效65101提示:输入无效75等价类划分等价类划分 假定一台ATM机允许提取增量为50元,总金额从1002000(包含2000元)不等的金额,请等

3、价类方法进行测试。例1: volunteer ?6等价类划分等价类划分例2:7等价类划分等价类划分例2: volunteer ?8等价类划分等价类划分例2:9等价类划分等价类划分例2:10等价类划分等价类划分11等价类划分等价类划分12等价类划分等价类划分13等价类划分等价类划分14等价类划分等价类划分(4)15等价类划分:等价类划分:“大学管理系统大学管理系统”实例:“大学学籍管理系统-维护学生成绩”16等价类划分:等价类划分:“大学管理系统大学管理系统”1.划分等价类2.为每一个有效等价类和无效等价类规定一个唯一的编号3.设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类, 重复这一

4、步直到所有有效等价类均被测试用例所覆盖4.设计一个测试用例,使其只覆盖一个无效等价类,重复这一步,直到所有无效等价类均被覆盖 n使用下面的表格有利于确定测试用例17等价类划分:等价类划分:“大学管理系统大学管理系统” volunteer ?18等价类划分:等价类划分:“大学管理系统大学管理系统”分析:学生的成绩隐含的条件是:0 x 100Step1:等价类划分:一个有效等价类,2个无效等价类Step2:确定编号,形成等价类表Step3Step输入条件有效等价类无效等价类编号0100分1.100分2.0分3.输入条件有效等价类无效等价类编号551.1202.-93.19等价类划分:等价类划分:“

5、大学管理系统大学管理系统” volunteer ? 尚未解决的问题20等价类划分:等价类划分:“大学管理系统大学管理系统”实例:“大学学籍管理系统-维护学生成绩”21边界值分析边界值分析边界界值分析法的定分析法的定义: :边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。22边界值分析边界值分析23边界值分析边界值分析边界值分析关注的是输入空间的边界。确定边界值应遵循以下几条原则:确定边界值应遵循以下几条原则:如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值

6、作为测试输入数据。如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试数据。如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。分析规格说明,找出其他可能的边界条件。24边界值分析边界值分析 volunteer ?例: 有一个小程序,能够求出三个在0到9999间整数中的最大者,请边界值测试方法设计测试用例。25边界值分析边界值分析例: 有一个小程序,能够求出三个在0到9999间整数中的最大者,请边界值测试方法设计测试用

7、例。(1)各变量分别取略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值和略大于最大值,所以A、B、C分别取值为:-1、0、1、5000、9998、9999、10000。(2)设计测试用例,见教材上表2-8。26边界值分析边界值分析为什么使用边界值分析法? 无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果。怎样用边界值分析法设计测试用例?(1)首先确定边界情况。通常输入或输出等价类的边界就是应该着重测试的边界情况。(2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取

8、等价类中的典型值或任意值。27边界值分析边界值分析 volunteer ? 常见的边界值有哪些?28边界值分析边界值分析对16-bit 的整数而言 32767 和 -32768 是边界屏幕上光标在最左上、最右下位置报表的第一行和最后一行数组元素的第一个和最后一个循环的第 0 次、第 1 次和倒数第 2 次、最后一次29边界值分析边界值分析 volunteer ? 等价类分析与边界值的区别? 请举例说明30边界值分析边界值分析边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。例例:测试计算平方根的函数 输入:实

9、数 输出:实数 规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法-输入值小于0”并返回0;库函数Print-Line可以用来输出错误信息。31边界值分析边界值分析例例:测试计算平方根的函数 输入:实数 输出:实数 规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法-输入值小于0”并返回0;库函数Print-Line可以用来输出错误信息。 volunteer ? 给出等价类、边界值方案?32边界值分析边界值分析等价类划分:可以考虑作出如下划分:输入 (i)=0输出 (a)=0 和 (

10、b) Error测试用例有两个:输入4,输出2。对应于 (ii) 和 (a) 。输入-10,输出0和错误提示。对应于 (i) 和 (b) 。边界值分析:划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:输入 最小负实数输入 绝对值很小的负数输入 0输入 绝对值很小的正数输入 最大正实数33边界值分析边界值分析通常情况下,软件测试所包含的边界检验有几种类型: 数字、字符、位置、质量、大小、速度、方位、尺寸、 空间等相应地,以上类型的边界值应该在: 最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最长、 空/满等情况下34边界值分析边界值分

11、析项边界值测试用例的设计思路字符起始-1个字符/结束+1个字符假设一个文本输入区域允许输入1个到255个 字符,输入1个和255个字符作为有效等价类;输入0个和256个字符作为无效等价类,这几个数值都属于边界条件值。数值最小值-1/最大值+1假设某软件的数据输入域要求输入5位的数据值,可以使用10000作为最小值、99999作为最大值;然后使用刚好小于5位和大于5位的 数值来作为边界条件。空间小于空余空间一点/大于满空间一点例如在用U盘存储数据时,使用比剩余磁盘空间大一点(几KB)的文件作为边界条件。35边界值分析边界值分析在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以

12、从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。内部边界值条件主要有下面几种:数值的边界值检验 字符的边界值检验n 小结: 在实际的测试用例设计中,需要将基本的软件设计要求和程序定义的要求结合起来,即结合基本边界值条件和内部边界值条件来设计有效的测试用例36边界值分析边界值分析计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。项范围或值位(bit)0 或 1字节(byte)0 255字(word)

13、065535(单字)或 04294967295(双字)千(K)1024兆(M)1048576吉(G) 1073741824 计算机数值运算的范围37边界值分析边界值分析在计算机软件中,字符也是很重要的表示元素,其中ASCII和Unicode是常见的编码方式。下表中列出了一些常用字符对应的ASCII码值。字符ASCII码值字符ASCII码值空 (null)0A65空格 (space)32a97斜杠 ( / )47Z90048z122冒号 ( : )58单引号 ( )966438边界值分析边界值分析(1) 如果输入条件规定了值的范围,则应取刚达到这个范围的边界值以及刚刚超过这个范围边界的值作为测试

14、输入数据。(2) 如果输入条件规定了值的个数,则用最大个数、最小个数和比最大个数多1个、比最小个数少1个的数作为测试数据。(3) 根据程序规格说明的每个输出条件,使用原则 (1)。(4) 根据程序规格说明的每个输出条件,使用原则 (2) 。(5) 如果程序的规格说明给出的输入域或输出域是有序集合 (如有序表、顺序文件等),则应选取集合中的第一个和 最后一个元素作为测试用例。(6) 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。(7) 分析程序规格说明,找出其它可能的边界条件。 测试用例设计原则39边界值分析边界值分析采用边界值分析测试的基本思想是:故障往

15、往出现在输入变量的边界值附近。 因此,边界值分析法利用输入变量的最小值(min)、略大于最小值(min+)、输入值域内的任意值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例。边界值分析法是基于可靠性理论中称为“单故障”的假设,即有两个或两个以上故障同时出现而导致软件失效的情况很少,也就是说,软件失效基本上是由单故障引起的。 因此,在边界值分析法中获取测试用例的方法是: (1) 每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-和max。 (2) 对程序中的每个变量重复 (1) 。40边界值分析边界值分析例:例:有两个输入变量

16、x1(ax1b)和x2(cx2d)的程序F的边界值分析: volunteer ?41边界值分析边界值分析例例1:有两个输入变量x1(ax1b)和x2(cx2d)的程序F的边界值分析测试用例如下: , , , , , , , , x1x2a bcd42边界值分析边界值分析例例2:有二元函数f(x,y),其中x1,12,y1,31。 则采用边界值分析法设计的测试用例是: volunteer ?43边界值分析边界值分析例例2:有二元函数f(x,y),其中x1,12,y1,31。 则采用边界值分析法设计的测试用例是: , , , , , , , , 44边界值分析边界值分析例例2:有二元函数f(x,y

17、),其中x1,12,y1,31。 则采用边界值分析法设计的测试用例是: , , , , , , , , 推论:对于一个含有推论:对于一个含有n个变量的程序,采用边界值分析法测试程个变量的程序,采用边界值分析法测试程序会产生序会产生4n+1个测试用例。个测试用例。45边界值分析边界值分析例例2:有二元函数f(x,y),其中x1,12,y1,31。 则采用边界值分析法设计的测试用例是: , , , , , , , , 推论:对于一个含有推论:对于一个含有n个变量的程序,采用边界值分析法测试程个变量的程序,采用边界值分析法测试程序会产生序会产生4n+1个测试用例。个测试用例。练习:练习:有函数f(x

18、,y,x),其中x1900,2100,y1,12,z1,31的。请写出该函数采用边界值分析法设计的测试用例。 volunteer ?46边界值分析边界值分析例例2:有二元函数f(x,y),其中x1,12,y1,31。 则采用边界值分析法设计的测试用例是: , , , , , , , , 推论:对于一个含有推论:对于一个含有n个变量的程序,采用边界值分析法测试程个变量的程序,采用边界值分析法测试程序会产生序会产生4n+1个测试用例。个测试用例。练习:练习:有函数f(x,y,x),其中x1900,2100,y1,12,z1,31的。请写出该函数采用边界值分析法设计的测试用例。 , , , , ,

19、, , , , , , , 47边界值分析边界值分析健壮性测试是作为边界值分析的一个简单的扩充,它除了对变量的5个边界值分析取值外,还需要增加一个略大于最大值(max+)以及略小于最小值(min-)的取值,检查超过极限值时系统的情况。因此,对于有n个变量的函数采用健壮性测试需要6n+1个测试用例。前面例1中的程序F的健壮性测试如下图所示:x1x2a bcd 健壮性测试48边界值分析边界值分析n实例1 三角形问题的边界值分析测试用例 在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为1, 100 。 说明:如果程序规格说明中没有显式地给出

20、边界值,则可以在设计测试用例前先设定取值的下限值和上限值。 volunteer ?49边界值分析边界值分析测试用例测试用例abc预期输出预期输出Test 1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等腰三角形等腰三角形等边三角形等边三角形等腰三角形等腰三角形非三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形等腰三角形等腰三角形等腰三角形非三角形非三角形Test10Test11Test12Test1312991006060505060605

21、050等腰三角形等腰三角形等腰三角形等腰三角形等腰三角形等腰三角形非三角形非三角形50边界值分析边界值分析n实例2 NextDate函数的边界值分析测试用例 在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1mouth12和1day31,并设定变量year的取值范围为1912year2050 。 。 volunteer ?51边界值分析边界值分析测试用例测试用例mouth dayyear预期输出预期输出Test 1Test2Test3Test4Test5Test6Test7666666615151515151515191119121913197520492050205

22、11911.6.161912.6.161913.6.161975.6.162049.6.162050.6.162051.6.16Test8Test9Test10Test11Test12Test13666666-112303132200120012001200120012001day超出超出1312001.6.22001.6.32001.7.1输入日期超界输入日期超界day超出超出131Test14Test15Test16Test17Test18Test19-112111213151515151515200120012001200120012001Mouth超出超出1122001.1.162001.2.162001.11.162001.12.16Mouth超出超出11252实例:“大学学籍管理系统-维护学生成绩”边界值分析:边界值分析:“大学管理系统大学管理系统”53边界值分析:边界值分析:“大学管理系统大学管理系统” volunteer ?54边界值分析:边界值分析:“大学管理系统大学管理系统”55END

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号