黑盒测试用例设计--因果图法

来源:互联网 发布:windows10自带录屏软件 编辑:程序博客网 时间:2024/05/16 10:55

因果图法

因果图概念:因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。

 

基本思路:利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

 

因果图概述

符号

在因果图中,用Ci表示条件,Ei表示动作,有4种符号分别表示了规格说明中的4种因果关系,如图:

 黑盒测试(五)——因果图法(第零次更新:2012年07月27日)


 

其中各节点表示的状态,可取值“0”或“1”。其中,“0”表示某状态不出现,“1”表示某状态出现。

恒等:

若条件出现,则动作出现;若条件不出现,则动作也不出现。

非(∽):

若条件出现,则动作不出现;若条件不出现,则动作出现。

或(∨):

若几个原因有一个出现,则结果出现;若几个原因都不出现,则结果不出现。

与(∧):

若几个原因都出现,结果才出现;若其中一个原因不出现,则结果不出现。

 

 

约束

由于输入状态相互之间可能存在某些依赖关系,这些依赖关系成为约束。

例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。

从输入考虑,有4种约束,如图EIOR;从动作考虑有1种约束,如图M

 黑盒测试(五)——因果图法(第零次更新:2012年07月27日)


 

E(互斥):

表示ab2个条件不会同时成立,最多有1个可能成立。

I(包含):

表示abc3个条件中至少有1个必须成立。

O(唯一):

表示ab中必须有1个,且仅有1个成立。

R(要求):

表示当a出现时,b必须也出现。

M(强制):

表示当a1时,b必须是0。而当a0时,b的值不确定。

 

 

因果图生成测试用例的基本步骤

 黑盒测试(五)——因果图法(第零次更新:2012年07月27日)

 

 

(1)  分析软件规格说明书中的输入输出条件并分析出等价类,将每个输入输出赋予一个标示符;分析规格说明中的语义,通过这些语义来找出相应的输入与输入之间,输入与输出之间的关系。

(2)  将对应的输入与输入之间,输入与输出之间的关系关联起来,并将其中不可能的组合情况标注成约束或者限制条件,形成因果图。

(3)  由因果图转化成判定表。

(4)  将判定表的每一列拿出来作为依据,设计测试用例。

 

适合使用因果图法设计测试的用例:

因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。



例子:某个软件规格说明中包含以下要求:第一列字符必须是AB,第二列字符必须是一个数字,在此情况下进行文件的修改;但如果第一列字符不正确,则输出信息L;如果第二列字符不是数字,则给出信息M

解:

采用因果图方法进行分析,根据如下“关系表”,获得“因果图”的各种组合,其中∨表示“或”,∧表示“与”,∽表示“非。”

 

关系表:

编号

条件

编号

动作

C1

第一列字符是 

E1

修改文件

C2

第一列字符是B

E2

给出信息L

C3

第二列字符是一个数字

E3

给出信息M

11

中间原因

 

 

 

因果图:

黑盒测试(五)——因果图法(第零次更新:2012年07月27日)

 


注:11为中间节点;因为原因1和原因2不能同时为1,所以施加约束。
    
C1C2为互斥关系,用E表示。

 

 

根据“因果图”制定“判定表”,3个因素共有8种组合。由于C1(首字符是A)成立时,C2(首字符是B)就不成立,此时变成6种组合。再合并结果一样的列,变成4种组合。如下表:

 

注:“判定表”的每一列代表一个测试用例。

 

判定表

序号

1

2

3

4

5

6

条件

C1

1

0

0

1

0

0

C2

0

1

0

0

1

0

C3

1

1

1

0

0

0

动作

E1

1

1

0

0

0

0

E2

0

0

1

0

0

0

E3

0

0

0

1

1

1

 

 

优化后的判定表

序号

1

2

3

4/5/6

条件

C1

1

0

0

C2

0

1

0

C3

1

1

1

0

动作

E1

1

1

0

0

E2

0

0

1

0

E3

0

0

0

1

用例

首字母为A

2字符为数字

首字母为B

2字符为数字

首字母为x

2字符为数字

首字母为ABx

2字符不是数字

 


原创粉丝点击