黑盒设计测试用例方法

来源:互联网 发布:log4j.xml sql 编辑:程序博客网 时间:2024/05/17 03:33

黑盒设计测试用例方法


  

黑盒测试设计测试用例最常用的三种方法:等价类划分、边界值分析法、错误推断法。


 

1.  等价类划分

       在软件测试中,穷举法虽然是最安全最保险的一种方法但成本代价高,一般是不可取的。我们可以通过等价类划分方法花费最小的代价来完成最高效的测试。

       等价类划分是把软件或系统的输入域划分成若干子集,然后从子集中选取少数具有代表性的数据进行测试。在子集集合中,各个输入数据对于揭露软件或系统的错误都是等价的。等价类分为有效等价类和无效等价类。

 

1.1 有效等价类

      对于程序规格来说合理的、有意义的输入数据的集合,检验程序是否实现了规格说明中的功能和性能。

 

1.2 无效等价类

      不合理的、无意义的输入数据集合,验证程序处理意外数据的能力。

 

1.3 划分方法

      划分等价类时,可分为按区间划分、按数值划分、按数值集合划分、按限制条件和规则划分、按处理方式划分。除了应掌握必须是同类数据的处理过程及处理结果完全一致的大原则,可参考以下划分方法:

1)     输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。

 :合格成绩取值范围为[60,100],则范围内取值为有效等价类,范围外<60>100为无效等价类。

2)     输入条件规定了输入值的集合或“必须如何”的情况下,可以确定一个有效等价类和一个无效等价类。

3)     输入条件是一个布尔量的情况下,可以确定一个有效等价类和一个无效等价类。

4)     输入条件规定必须遵守某种规则的情况下,可以确定一个有效等价类和若干无效等价类(从不同角度违反规则)。

: 规定输入必须为非0正整数,则无效等价类可以分为空、0、负整数、小数、字符等等。

5)     在规定了输入数据的一组字(假定N个),并且程序要对每个输入值分别处理的情况下,可以确立N个有效等价类和一个无效等价类。如下拉框选择“科目”,每个科目所显示的信息不同。

6)     在确知已划分的等价类中各元素子程序处理的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。

 

1.4 在确定等价类后,可以建立等价类表,列出所有划分的等价类

输入条件

有效等价类

无效等价类

成绩为[0, 100]之间整数

[0, 100]之间整数

大于100的整数

 小于0的整数

 小数

 其他字符

 

 

2.  边界值分析法

      以往的测试经验表明,由于需求界定不准确、设计不严密、程序书写手误等等原因,对于这些数据范围边界的判断是软件极容易出错的地方。大量的错误往往发生在输入或输出范围的边界上,因此针对各种边界情况设计测试用例,可以检查出更多的错误。

 

2.1 边界值适用场景

       边界值法多被应用于以下几个场景中:

1)     输入(输出)条件规定了取值范围

2)     输入(输出)条件规定了值的个数

3)     程序规格说明书中提到的输入或输出是一个有序集合

4)     程序中使用了一个内部数据结构

边界值取值应选取正好等于、刚刚大于最大边界值和刚刚小于最小边界值作为测试数据

 

2.2 边界值选择测试用例原则

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

2)     根据规格说明的每个输入或者输出条件,使用规则1

3)     根据规格说明的每个输入或者输出条件,使用规则2

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

5)     若输入域是有序集合,则选取集合的第一个元素和最后一个元素作为测试用例

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

7)     分析规格说明,找出其他可能的边界值

 

 

3.  错误推断法

错误推断法一般基于以往的测试经验和直觉,参照以往的软件系统出现的错误,推测程序中可能存在的各种错误,列出程序中所有可能有的错误和容易发生错误的情况,有针对性的设计测试用例。

例如:

单元测试用例中列出许多在模块中常见的错误、以前产品测试中曾经发现的错误等

输入数据为0或字符为空

各种情况在产品说明中常常被忽视,也可能程序员遗忘,但在实际使用中却经常发生。测试人员要站在用户的角度,考虑他们要输入的信息,而不管这些信息看起来是合法的输入还是非法的输入。

 

0 0
原创粉丝点击