测试用例设计技术之二------边界值法

来源:互联网 发布:mac版chrome 摄像头 编辑:程序博客网 时间:2024/05/05 07:58

           上次介绍了等价类划分法,在进行等价类别划分的时候,有以下几个原则:

    • 如果规定了输入值的范围,则可划分出一个有效的等价类(输入值在此范围内),两个无效的等价类(输入值小于最小值和大于最大值);
    • 如果规定了输入数据的个数,则类似地可以划分出一个有效的等价类和两个无效的等价类;
    • 如果规定了输入数据的一组值,而且程序对不同输入值做不同处理,则每个允许的输入值是一个有效的等价类,此外还有一个无效的等价类(任一个不允许的输入值);
    • 如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干无效的等价类(从各种不同角度违反规则);
    • 如果规定了输入数据为整型,则可以划分出正整数、零和负整数等三个有效类;
    • 如果程序的处理对象是表格,则应该使用空表,以及一项或多项的表。

而边界值法是在等价类划分完后,由于出现边界条件,而程序员编程又经常在这种地方出现问题,所以经过长期的经验积累总结出来的测试用例的设计方法。

我们看一段代码,用VB编的。

Private Sub Command1_Click()                     

    If Val(Text1.Text) >= 99 Or Val(Text1.Text) <= -99 Then                               

         MsgBox ("输入的参数值必须大于-99同时小于99!")                     

     Else                      

     If Val(Text2.Text) >= 99 Or Val(Text2.Text) <= -99 Then                               

          MsgBox ("输入的参数值必须大于-99同时小于99!")                     

      Else                               

           Text3.Text = Val(Text1.Text) + Val(Text2.Text)                     

      End If                     

      End If

   End Sub

是两位数加法器的例子,两位数的范围是从-99到99,也就是说是个闭区间[-99,99],而程序员在编程的时候忘了区间的问题,把闭区间变成了开区间(-99,99),这样整个程序就出问题了。

边界值法的主要关注点是边界值,当一旦确定了范围了,边界值就是测试要关注的了。

还是以QQ登录界面为例,当要测试QQ帐号的输入框时,我们注意到QQ帐号的长度范围从6位到10位,也就是说有了一定的范围,即在6-10位之间的QQ帐号只要在QQ服务器上申请,就能作为合法的帐号出现。

我们分析一下,QQ帐号的位数为[6,10],那么边界值就有两个:一是6位帐号,二是10位帐号。

用边界值法怎么设计测试用例呢?

一般的规则是:比边界值小一点的,恰好是边界值,比边界值大一点。那么在QQ帐号的输入框的测试用例设计里就有以下几个:

(1)5位帐号

(2)6位帐号

(3)7位帐号

(4)9位帐号

(5)10位帐号

(6)11位帐号

原创粉丝点击