小小糖 发表于 2018-5-7 09:39:27

软件测试因果图分析法

Cause-Effect Graphing (因果图)
因果图法产生的背景

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

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

因果图概念介绍

因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。
其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。

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

因果图中符号介绍



等价与非


或和与








唯一


要求


强制
分析步骤

第一步,找出Cause原因

Cause

c1— the first character is #

c2 —the first character is *

c3 —the second character is number

第二步,找出Effect结果


e1— give the information N

e2— modify the document

e3— give the information M

第三步,分析出中间节点

图中11节点,代表输入c1或c2

然后画出因果图,如图



因果图
再举个例子

某公司对客户有一定的折扣政策,公司软件的一个模块的需求说明书中描述“……当交易额小于等于5万元时
折扣为0,当交易额大于5万元时才有折扣,如果交易的客户在三个月内无欠款,则折扣为15%;如果交易
用户在三个月内有欠款,若该用户是三年以上的老客户,则折扣为10%;若该客户不是三年以上的老客户,
则折扣为5%。”

原因(对立的就不要再写了,比如写了是小于五万就不用写大于等于五万了):

C1:交易额大于5万元

C2:三个月无欠款

C3:三年以上老客户

结果(注意对立的就不要再写了):

E1:无折扣

E2:折扣=5%

E3:折扣=10%

E4:折扣=15%

因果图,从这个图中你就能找出导出上边说的四种结果的逻辑

因果图



页: [1]
查看完整版本: 软件测试因果图分析法