您好,欢迎来到划驼旅游。
搜索
您的当前位置:首页黑盒测试方法

黑盒测试方法

来源:划驼旅游
黑盒测试

3.1 等价类划分

等价类划分是一种典型的黑盒测试方法,也是一种非常实用的重要测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。

等价类划分的方法是把程序的输入划分成若于部分,然后从每个部分中选取少数代表性数据当作测试用例。

(1) 划分等价类

等价类是指某个输入域的子集合,各个输入数据对于揭露程序中的错误都是等效的。并假定:测试某等价类的代表值就等价于对这一类其它值的测试。如果某个等价类中的一个输入条件作为测试数据进行测试查出了错误,那么使用这一等价类中的其它输入条件进行测试也会查出同样的错误,反之亦然。

有两种等价类:有效等价类和无效等价类。  有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入

数据集合。 

无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输

入数据集合。 等价类划分原则:

a. 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无

效等价类。如:输入从1到99,则有效等价类为:1〈= n <= 99; 两个无效等价

类为:n < 1和 n > 99。

b. 如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确

立一个有效等价类和一个无效等价类。如:输入为a,b,c,则有效等价类为a,b,c;无效等类为:非a,b,c。

c. 如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。 d. 如果规定了输入数据的一组值,而且程序要对每个输入值分别处理,这时可为每个

输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入的集合。

e. 如果规定了输入数据必须遵守的规定,则可以确立一个有效等价类(符合规则)和

若干无效等价类(从不同角度违反规则)。

f. 如果确知,已划分的等价类中各个元素在程序中的处理方式不同,则应将此等价类

进一步划分成更小的等价类。 (2) 确立测试用例

首先建立等价类表,列出所有划分出的等价类: 输入条件 …… 有效等价类 …… 无效等价类 …… 从等价类中按以下原则选择测试用例: a. 为每一个等价类规定一个唯一的编号;

b. 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,

直到所有的有效等价类都被覆盖为止。

c. 设计一个测试用例,使仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到

所有的无效等价类都被覆盖为止。 (3) 实例

某程序:“输入三个数作为三角形的三边,判断此三角形为合法三角形。” 表3-1等价类表 输入条件 三个数 有效等价类 a,b,c 无效等价类 只给一个数; a, b, c; 给二个数 a,b a,c b,c 给出多于三个数 三个正数 a>0,b>0,c>0 a >0, b< 0,c<0 b>0 , a<0, c<0 c>0, a<0, b<0 a>0,b>0, c<0 a>0,c>0,b<0 b > 0, c>0,a<0 a<0,b<0,c<0 三个非零数 a!=0,b!=0,c!=0 a=0,b!=0,c!=0 b=0,a!=0,c!=0 c=0,a!=0,b!=0 a=0,b=0,c!=0 a=0,c=0,b!=0 b=0,c=0,a!=0 a=0,b=0,c=0 任意两边和大于第三边 a+b>c, a+c>b, b+c>a a+b<=c a+c<=b b+c<=a 3.2 因果图

等价类划分方法并没有考虑到输入情况的各种组合,也没有考虑到各个输入情况之间的相互制约关系。采用因果图方法(Cause-Effect Graphing)能够高效地选择测试用例,同时还能指出程序规格说明中存在着什么问题。

使用因果图的基本步骤: 1. 分析软件规格说明中,哪些是原因(即输入条件或输入条件的等价类),

哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 2.

分析软件规格说明中的语义,找出原因与结果之间,原因与原因之间对应的关系,根据这些关系,画出因果图。 3. 由于语法或环境,有些原因与原因之间,原因与结果之间的组合情

况不可能出现,可在因果图上用一些记号标明约束或条件。 4. 5.

把因果图转换成判定表。

把判定表的每一列表示的情况生成测试用例。

因果图中的基本符号:

∽ ∨ ∧

a.恒等 b.非 c.或 d.与

图3-1因果图的图形符号

1. 恒等:表示原因与结果之间一对一的对应关系。若原因出现,则结果出现,若原

因不出现,则结果也不出现。 2. 非:表示原因与结果之间的一种否定关系。

3. 或:表示若几个原因中有一个出现,则结果出现,只有当这几个原因都不出现时,

结果才不出现。

4. 与:表示若几个原因都出现,结果才出现,若几个原因中有一个不出现,结果就

不出现。 输入的约束条件:

E(异):表示a,b两个原因不会同时成立,两个中最多有一个可能成立。 I(或):表示a,b,c三个原因中至少有一个必须成立。

O(唯一):表示a,b当中必须有一个,且仅有一个成立。 R(要求):表示当a出现时,b必须也出现。不可能a出现,b不出现。 若从输出(结果)考虑,还有一种约束:

1. M(屏蔽):表示当a是1时,b必须是0,而当a为0时,b值不定。

a R

b b a E 异 b I

或 a M 强制 a b c O

唯一 b a

图3-2因果图的约束符号

例:有一个处理单价为5角钱的饮料自动售货机,当投入5角或1元钱硬币,并按下[橙

要求

汁]或[啤酒]按钮,则相应的饮料就送出来。若没有零钱找,则[零钱找完]红灯亮,这时投入1元硬币并按下饮料按钮后,饮料不送出来,且退还1元硬币;若有零钱找,则[零钱找完]红灯灭,送出饮料的同时退还5角硬币。

列出原因和结果

原因

1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.投入5角硬币

中间结点

结果

11.投入1元硬币且押下饮料按21.售货机【零钱找完】灯亮 钮

12.押下【橙汁】或【碑酒】的22.退还1元硬币 按钮

13.押下【橙汁】的按钮 13.押下【碑酒】的按钮

23. 送出橙汁饮料 23. 送出碑酒饮料

3.3 边界值分析

在软件设计和程序编写中,常常对边界区域不够重视,容易形成差错,因此为边界附近专门设计测试用例,能取得良好的测试效果。例:

在此,边界是指相对于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。

选择测试用例的原则:

其在很多方面与等价类划分方法类似。

1. 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超

越这个范围边界的值作为测试输入数据。如 -1.0~1.0。

2. 如果输入条件规定了值的个数,则用最大个数,最小个数,比最大个数多1,比

最小个数少1的数作为测试数据。如:其个文件有1~256记录。 3. 根据规格说明和每个输出条件,使用前面的原则1。

4. 根据规格说明和每个输出条件,使用前面的原则2。 5. 如果程序的规格说明给出的输入域或输出域是有序集合(如有序表,顺序文件等),则应选取集合的第一个元素和最后一个元素作为测试用例。

6. 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的

值作为测试用例。

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.com 版权所有 湘ICP备2023023988号-11

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务