因果图法设计测试用例

因果图法是一种用于设计测试用例的方法,尤其适用于考虑输入条件组合及它们之间的制约关系。它包括定义、意义、因果图的符号、关系、约束条件,以及设计测试用例的步骤。通过将因果图转化为判定表,可以有效地设计测试用例,但当输入条件过多时,可能导致测试用例数量庞大,不易维护。

因果图法设计测试用例

1. 定义:因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,他适合与检查程序输入条件的各种组合情况。

2. 意义:等价类划分和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试测试到了,但多个输入条件组合起来可能出错的情况却被疏忽了。

3. 认识因果图

·如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)

·因果图常用符号有以下2中:

1)CI:原因

2)EI:结果

(注意:其中I取“0”表示状态不出现,“1”表示状态出现,若有多状态,可取大于1的多个值表示。)

4. 因果图四种关系(左输入右输出)

 

1)恒等:原因结果同时出现,若c11,则e1也是1;否则e10.

2)~:原因出现,结果不出现;原因不出现,结果出现。若c11,则e10;否则e1 1

3)V:原因只有一个出现,结果就出现;原因都不出现,结果就不出现。

c1c2c31,则e11;否则e10。“或”可有任意个输入

4)/^:原因都出现,结果才出现。若c1c2都是1,则e11;否则e10

“与”也有任意个输入

5. 因果图约束条件

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

·从输入考虑

1)E(互斥/异或):表示ab两原因不会同时成立,最多一个能成立

2)I(包含):abc三个原因中至少有一个必须成立

3)O(唯一):ab当中必须有一个,且仅有一个成立

4)R(要求):当a出现时,b必须也出现,不可能a出现b不出现;

·从输出考虑——M(强制或屏蔽)

1)结果a1时,结果b必须是0

2)结果a0时,结果b的值不定;

 

例子:


男士,女士:互斥

隐藏一定属于宁夏:要求

固定电话,小灵通,手机号:包含

6. 因果图法设计测试用例的步骤:

1)提取因果,赋予标识符:分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件),并给每个原因和结果赋予一个标识符。

2)提取因果关系,表示因果图:分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的关系,根据这些关系,画出因果图。

3)表名约束条件:由于语法或环境限制,有些原因与原因之间,原因与结果之间的结合情况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。

4)转换成判定表:把因果图转换成判定表

5)设计测试用例:把判定表的每一列拿出来作为依据,设计测试用例。

7. 例子:文件修改程序

·某软件规格说明书包含这样的要求:输入的第一个字符必须是#*,第二个字符必须是一数字,此情况下进行文件的修改;若第一个字符不是#*,则给出信息N,若第二个字符不是数字,则给出信息M

分析:

1)分析需求,列出原因和结果

 

2)找出因果关系、原因与原因之间的约束关系,画出因果图

 

10:表示中间状态,可以作为一种结果,存在c1c2的关系或,要么c1出现要么c2出现,表示中间出现了一个,要么是#要么是*,表示其中一个。

3)将因果图转换成决策表

 

不可能表示:c1c2同事出现,就是不可能的

 

4)根据(3)中的决策表,设计用例的输入数据和预期输出

8. 应用场合和局限性

·应用场合:当软件输入条件过多时,可以考虑输入的所有排列组合情况,考虑条件之间和条件结果之间关系,防止遗漏。

·局限性:测试用例数目可能会很大,不便于维护。如果是m个输入条件,则会有2m次方种组合。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值