软件测试——功能测试:边界值测试

软件测试——功能测试:边界值测试

  • 边界值分析
    • 边界的定义
    • 边界点的定义
    • 边界值分析
    • 测试边界线
    • 边界值分析的局限性
  • 健壮性测试
  • 最坏情况测试
    • 健壮最坏情况测试用例
    • 最坏情况测试的局限性
  • 特殊值测试
  • 随机测试
  • 边界值测试使用技巧
    • 选择测试用例的原则

边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的特定情况,如图一个例子:

  1. 边界值分析的基本思想是:使用在最小值略高于最小值正常值略低于最大值最大值处取输入变量值
  2. 边界值分析的假设:“单缺陷”假设,即失效极少是由两个(或多个)缺陷的同时发生引起的
  3. 边界值分析测试用例的获得:只使一个变量取极值,其余变量取正常值
  4. 对于一个n变量的函数,边界值分析会产生4n+1个测试用例
  5. 边界值分析也是一种黑盒测试

边界值分析是考虑边界条件而选取的一种功能测试的方法,边界值分析的关注点在于输入空间的边界,以标识测试用例,因为软件错误更可能出现在输入变量的极值附近。
人们长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。

推导:边界值分析的假设:“单缺陷”假设
方法:如一个n变量函数,使除一个以外的所有变量取正常值,使剩余的那个变量分别取最小值、略高于最小值、正常值、略低于最大值和最大值,对于每个变量都重复进行。

  1. 一个变量取边界值,其他变量取正常值 即:{a1边界集合} X {a2一个正常值} X {a3一个正常值} X {a4一个正常值}…….共n 个集合。
  2. | {边界集合} |=4 ,| {一个正常值} |=1, |{a1边界集合} X {a2一个正常值} X {a3一个正常值} X {a4一个正常值}…….|=4 ,共4*n个输入值。
  3. 最后补上一正常值,所有变量都取正常值 。
  4. 所以共计4*n+1。

如下图:

  • 使用边界值分析方法设计测试用例,首先应确定边界情况。
  • 边界确定的方法:测试临近边界的合法数据,以及刚超过边界的非法数据。
    越界测试
    (对于最大值)通常简单地加1或很小的数
    (对于最小值)通常简单地减1或很小的数

    1. 健壮性是指在异常情况下,软件还能正常运行的能力。
    2. 健壮性有两层含义:
      • 容错能力
        • 输入错误的数据类型。
        • 输入定义域之外的数值。
      • 恢复能力
        • 系统能否重新运行;
        • 有无重要的数据丢失;
        • 是否毁坏了其它相关的软件硬件。
    3. 对于一个n变量的函数,健壮性分析会产生6n+1个测试用例。

    容错性测试通常构造一些不合理的输入来引诱软件出错,例如:
    (1)输入错误的数据类型。
    (2)输入定义域之外的数值。

    恢复测试重点考察一下几项:
    (1)系统能否重新运行;
    (2)有无重要的数据丢失;
    (3)是否毁坏了其它相关的软件硬件。

    除了变量的5个边界分析取值还要考虑略超过最大值(max)和略小于最小值(min)时的情况,以两个函数变量为例,如图:

    • 测试用例不充分
    • 不能发现测试变量之间的依赖关系
    • 不考虑含义和性质,没有利用理解和想象
    • 只能作为初步测试用例使用

    • 随机测试的基本思想:

        这类测试方法都有一种假设:输入变量的真正独立性(必须保证)

        以上介绍的测试方法的区别:

        • 正常值与健壮值
        • 单缺陷与多缺陷设计

        运用好这些差别就能产生较好的测试。

        1. 如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;
        2. 如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1、比最小个数少1的数做为测试数据;
        3. 如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例;
        4. 如果程序用了一个内部结构,应该选取这个内部数据结构的边界值作为测试用例;
        5. 分析规格说明,找出其他可能的边界条件。

        声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年2月20日
下一篇 2020年2月20日

相关推荐