(四)因果图法

因果图法是一种设计测试用例的方法,用于检查程序输入条件的各种组合情况。它考虑了输入条件的组合和相互制约关系,通过因果图转换为判定表。本文详细介绍了因果图法的定义、流程、约束关系,以及如何生成测试用例,适用于黑盒测试中的复杂条件组合测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.定义:

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

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

首先从程序规格说明书的描述中,找出因(输入条件)和果(输出结果或者程序状态的改变),然后通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

2.绘画因果发的流程图:

 

 

3.绘画图时,表示原因和结果的关系:

 

 

通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。

 


¡ 恒等:若c1是1,则e1也为1,否则e1为0;

¡ 非:若c1是1,则e1为0,否则e1为1;

¡ 或:若c1或c2或c3是1,则e1是1,否则e1为0,“或”可有任意个输入;

¡ 与:若c1和c2都是1,则e1为1,否则e1为0,“与”也可有任意个输入。

 

4.绘画图时,表示原因与原因的关系:

 

 

l 对于输入条件的约束有4种:

l E约束(异):a和b中最多有一个可能为1,即a和b不能同时为1;

l I约束(或):a、b、c中至少有一个必须是1,即a、b、c不能同时为0;

l O约束(唯一):a和b必须有一个且仅有一个为1;

l R约束(要求):a是1时,b必须是1;

l 对于输出条件的约束只有M约束

M约束(强制):若结果a是1,则结果b强制为0。


1.1生成用例的步骤

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

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

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

(4) 把因果图转换为判定表。

1.2  原因之间的约束

因果图中有4种符号描述原因之间的约束关系,1种符号描述结果之间的约束关系。下面分别介绍:

  •  排他性约束:各个原因之间不能同时为真,但可以同时为假。举个例子,小明同学不可能同时属于A班和B班,但可能既不是A班的,也不是B班的,而是C班的。

 

  •  包含性约束:各个原因中总有一个为真。即可以同时为真,但不可以同时为假。举个例子,支付宝买家付款时,有个输入条件(既原因)是余额支付、网银支付,买家可以选择单独余额支付或者单独网银支付,也可以同时选择余额支付和网银支付2种方式。但是不可以选择不支付。


  • 必要性约束:当原因a为真时,原因b必须同时为真;但是原因b为真时,原因a既可以为真,也可以为假。举数字证书的例子:现有的业务规则下,如果申请了数字证书(原因a),那么该用户必然通过了支付宝认证(原因b)。反之,如果用户通过了支付宝认证,那么不一定申请了数字证书(a)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值