[原创]测试用例设计之“因果图”法

 [原创]测试用例设计之“因果图”法

因果图法简介

为什么使用“因果图”法设计测试用例?

等价类划分法并没有考虑输入情况的各种组合,也没有考虑输入情况之间的相互制约关系。这样虽然各种输入情况可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况去被忽略了,所以采用“因果图”法(Cause-effect Graphing),能帮助我们指出程序规格说明书存在差什么问题。

因果图设计方法

从用自然语言书写的程序规格说明的描述中找出因果,通过因果图转换成判定表

因果图导出测试用例步骤

第一步:分析程序规格说明的描述中,哪些是原因,哪些是结果。原在因常常是输入条件或是输入条件的等价类,结果是输出条件

第二步:分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的‘因果图’

第三步:标明约束条件

第四步:把因果图转换成判定表

第五步:为判定表中每一列表示的情况设计测试用例

(1)      因果图基本图形符号

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

恒等:若原因出现,则结果出现;若原因不出现,则结果不出现

非(~):若原因出现,则结果不出现;若原因不出现,则结果出现

或(V:若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现;

与():若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现



(2)     
因果图的约束符号

从输入(原因)考虑四种约束

E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立

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

O(惟一):表示两个原因中必须有一个,且仅有一个成立

R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现

从输出(结果)考虑一种约束

M(屏蔽):两个结果,a1时,b必须是0,当a0时,b值不定


posted @ 2006-10-16 18:37  卖烧烤的鱼  阅读(3500)  评论(0编辑  收藏  举报