如何用因果图法设计测试用例
1. 因果图的定义:
因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
2.因果图法产生的背景:
等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。
如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。
3.利用因果图生成测试用例的基本步骤:
1.分析软件规格说明描述中哪些是原因,哪些是结果,并给每个原因和结果赋予一个标识符。
2.分析软件规格说明描述的语义。找出原因和结果之间、原因和原因之间的关系,根据这些关系,画出因果图。
3.在因果图上用一些记号表明约束或限制条件。
4.把因果图转换为判定表。
5.把判定表的每一列拿出来作为依据,设计测试用例。
4.因果图的基本图形符号:
通常在因果图中,用Ci表示原因,Ei表示结果,各结点表示状态,可取值0(状态不出现) 或1(某状态出现)
l恒等:若原因出现,则结果出现;若原因不出现,则结果不出现
l非(~):若原因出现,则结果不出现;若原因不出现,则结果出现
l或(V):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现;
l与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现
5.因果图的约束符号
从输入(原因)考虑四种约束:
l E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
l I(包含):表示三个原因中至少有一个必须成立
l O(惟一):表示两个原因中必须有一个,且仅有一个成立
l R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
从输出(结果)考虑一种约束
L M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
6.关系:原因和结果之间的关系是:一一对应、选择关系、并列关系、否定关系。
************
例:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
解1 、根据题意,原因和结果如下:
原因:
1——第一列字符是A;
2——第一列字符是B;
3——第二列字符是一数字。
结果:
21——修改文件;
22 ——给出信息L;
23——给出信息M。
解2、画出因果关系表和因果图。
解3、根据因果图建立判定表。
表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。
PS:专注就是成绩。