边界值测试•本章内容–边界值分析(掌握)–健壮性测试(掌握)–最坏情况测试(掌握)–特殊值测试(了解)–举例(了解)边界值分析•边界dax2cx1b边界的定义•边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况边界值分析•边界值分析的基本思想是:使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。•边界值分析的假设:“单缺陷”假设。即,失效极少是由两个(或多个)缺陷的同时发生引起的。•边界值分析测试用例的获得:只使一个变量取极值,其余变量取正常值。•对于一个n变量的函数,边界值分析会产生4n+1个测试用例。•注意:边界值分析也是一种黑盒测试边界值分析•使用边界值分析方法设计测试用例,首先应确定边界情况。•根据边界值集合完成迪卡尔积(“单缺陷”假设)x2dacx1b●●●●●●●●●•(1)每个边界都要作为测试条件。•(2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。被测试子域测试内点测试外点软件边界与悬崖很类似注意:•测试临近边界的合法数据,以及刚超过边界的非法数据.•越界测试通常简单地加1或很小的数•(对于最大值)和减1或很小的数(对于最小值).测试边界线•有两种方式归纳:–通过变量数量–通过值域的种类•归纳变量数量–这种方法将产生4n+1个测试用例•归纳值域的种类–归纳值域取决于变量本身的性质(类型)归纳边界值分析可能的数据类型数据类型可能是:•数值•字符•位置•数量•速度•地址•尺寸•……还要考虑数据类型的特征:•第一个/最后一个•最小值/最大值•开始/完成•空/满•最慢/最快•相邻/最远•超过/在内•……边界值分析的局限性–测试用例不充分–不能发现测试变量之间的依赖关系–不考虑含义和性质,没有利用理解和想象–只能作为初步测试用例使用健壮性测试•健壮性是指在异常情况下,软件还能正常运行的能力。•健壮性有两层含义:–容错能力–恢复能力•除了变量的5个边界分析取值还要考虑略超过最大值(max)和略小于最小值(min)时的情况dacx1b●●●●●●●●●●●●●特殊值测试•特点:最直观、最不一致、具有高度主观性•特殊值测试特别依赖测试人员的能力举例•三角形问题的测试用例随机测试•随机测试的基本思想:–使用随机数生成器选出测试用例值x1dacb●●●●●●●●●●●●●●●●●●●●●●●●●随机测试用例●●●三角形程序的随机测试用例测试用例非三角形不等边三角形等腰三角形等边三角形12896635933211543676967372367117091855681643671260312841252661647531973122155159782998285012919008444743532071平均值49.83%47.87%2.29%0.01%