• 测试思想-测试设计 测试用例设计之边界值分析方法


    测试用例设计之边界值分析方法

    1.定义

    对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。 

     

    2.与等价划分的区别

      1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

      2)边界值分析不仅考虑输入条件,有时还要考虑输出空间产生的测试情况。

     

    3.边界值分析方法的考虑:

      长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

      使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

     

    4.常见的边界值

      1)16-bit 的整数而言 32767-32768 是边界[最高位符号位 2^15-1]

      2)屏幕上光标在最左上、最右下位置

      3)报表的第一行和最后一行

      4)数组元素的第一个和最后一个

      5)循环的第 0 次、第 1 次和倒数第 2 次、最后一次

     

    5.边界值分析

       例:测试计算平方根的函数

         --输入:实数

       --输出:实数

       --规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。

     

      1)划分等价类

       划分等价类的目的在于查找边界

     

      假设输入实数为 i

       ai<0

       b) i>=0

     

      2)查找边界值:

       根据划分的等价类查找边界值

      根据a)等价类,得出边界为最小负实数和0;根据b)等价类,得出边界为0和最大正实数;

     

       由此得到以下测试用例:

        a、输入 {最小负实数}----小于边界的最左侧

        b、输入 {绝对值很小的负数}----刚刚小于边界的值

        c、输入 0----正好等于边界的值

        d、输入 {绝对值很小的正数}----刚刚大于边界的值

        e、输入 {最大正实数}----大于边界的最右侧

     

       总结:针对线性等价类划分,边界值取值方法: 

          a、小于边界的最左侧

        b、刚刚小于边界的值 

          c、正好等于边界的值

          d、刚刚大于边界的值 

          e、大于边界的最右侧

     

    6.内部边界值分析:

    在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。

     

    内部边界值条件主要有下面几种:

    a)数值的边界值检验:计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。

     

    范围或值

    位(bit

    0 1

    字节(byte

    0 ~ 255

    字(word

    0~65535(单字)或 0~4294967295(双字)

    千(K

    1024

    兆(M

    1048576

    吉(G

    1073741824

     

    b)字符的边界值检验:在计算机软件中,字符也是很重要的表示元素,其中ASCIIUnicode是常见的编码方式。下表中列出了一些常用字符对应的ASCII码值。 

    字符

    ASCII码值

    字符

    ASCII码值

    (null)

    0

    A

    65

    空格 (space)

    32

    a

    97

    斜杠 ( / )

    47

    Z

    90

    0

    48

    z

    122

    冒号 ( : )

    58

    单引号 ( ‘ )

    96

    @

    64

     

     

     

    c)其它边界值检验

       

    7.基于边界值分析方法选择测试用例的原则

      1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

      例如,如果程序的规格说明中规定:"重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……"。作为测试用例,我们应取1050,还应取10.01, 9.99,49.9950.01等。

      2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。

      比如,一个输入文件应包括1~255个记录,则测试用例可取1255,还应取0256等。

      3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。

      例如一程序属于情报检索系统,要求每次"最少显示1条、最多显示4条情报摘要",这时我们应考虑的测试用例包括14,还应包括05等。

      4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

      5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。

      6)分析规格说明,找出其它可能的边界条件。

     

    pdf版下载:

    测试用例设计之边界值分析方法.pdf

     

    参考文章: 测试用例设计白皮书_张元礼

     

  • 相关阅读:
    Spring 中出现Element : property Bean definitions can have zero or more properties. Property elements correspond to JavaBean setter methods exposed by the bean classes. Spring supports primitives, refer
    java定时器schedule和scheduleAtFixedRate区别
    hql语句中的select字句和from 字句
    使用maven搭建hibernate的pom文件配置
    Failure to transfer org.apache.maven:maven-archiver:pom:2.5 from http://repo.maven.apache.org/ maven2 was cached in the local repository, resolution will not be reattempted until the update interv
    对于文件File类型中的目录分隔符
    hibernate的事务管理和session对象的详解
    解决mac 中的myeclipse控制台中文乱码问题
    ibatis selectKey用法问题
    Java中getResourceAsStream的用法
  • 原文地址:https://www.cnblogs.com/shouke/p/10157903.html
Copyright © 2020-2023  润新知