软件测试因果图分析法


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、哈夫曼树和哈夫曼编码
2、杭电1018
3、iOS 网络开发
4、网络对抗技术——实验一
5、C++Primer第四版13.5.1. 定义智能指针类的例子被new蒙蔽_BLOCK_TYPE_IS_VALID


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号