软件测试因果图分析法

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%
因果图,从这个图中你就能找出导出上边说的四种结果的逻辑

软件测试因果图分析法
文章图片
因果图

    推荐阅读