首页 > 编程知识 正文

因果分析法案例(因果图测试用例举例)

时间:2023-05-06 12:38:42 阅读:65457 作者:4486

因果图法是对输入的各种组合进行图形化分析,设计测试用例的方法,适用于检查程序输入条件的各种组合。

等价类划分法和边界值分析法都侧重于输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。 已经测试了这样可能弄错各种输入条件,但是忽略了组合多个输入条件有可能出错的情况。

在测试时必须考虑输入条件的各种组合的情况下,由于可能的组合数量是天文数字,因此必须考虑描述多个条件的组合,并相应地以适合产生多个动作的形式进行测试用例的设计,从而产生因果关系

1 .因果图介绍

1 ) 4种符号分别表示规格说明中的4种因果关系。

2 )因果图中使用简单的逻辑符号,用直线连接左右节点。 左节点表示输入状态(或原因),右节点表示输出状态)或结果。

3 ) C1表示原因,一般放在图左部; e1表示结果,通常在图的右部。 C1和e1都可以是0或1,0指示一个状态没有出现,1指示一个状态出现。

2 .因果图所涉概念

1 )关系

(恒等)如果c1为1,则e1也为1; 否则e1是0。 不,如果c1为1,则e1为0。 否则e1是1。 或者,c1、c2或c3为1,e1为1; 否则e1是0。 “或”可以是任意输入。 与:如果c1和c2均为1,则e1为1; 否则e1是0。 “and”可以是任意输入。 2 )约束

输入状态之间还可能存在称为约束的依赖关系。 例如,一些输入条件本身不会同时显示。 输出状态之间也经常有制约。 因果图用特定的符号表示了这些约束。

输入条件的约束有四个类别: e约束(异) a和b中最多有一个可能为1。 也就是说,a和b不能同时为1。 I (或):a、b和c中的至少一个必须为1。 也就是说,不能同时使a、b、c为0。 o约束(唯一); a和b必须是一个,只有一个是1。 r约束(要求):a为1时,b必须为1。 即,在a为1的情况下,b不是0。 输出条件约束类型输出条件的约束仅限m约束(强制)如果结果a为1,则结果b强制为0。

3 .采用因果图法设计测试用例的步骤:

1 )在分析软件规格描述中,它们是原因(即输入条件或输入条件的等价类),它们是结果)即输出条件,对每个原因和结果赋予识别符。

2 )分析软件规范说明描述的含义,找出原因与结果之间、原因与原因之间的对应关系,根据这些关系绘制因果关系图。

3 )如果由于语法或环境限制,原因和原因之间、原因和结果之间不能出现组合,则在因果图中用几个符号表示限制或限制,以指示这些特殊情况。

4 )将因果图转换为判断表。

5 )以判定表的各列为依据,设计测试用例。

实例:

1 .一个软件规格书包含第一列字符必须是a或b,第二列字符必须是数字的要求。 在该情况下,进行文件修正,但如果第1列的字符不正确,则提供信息l; 在第2列的字符不是数字的情况下,给出信息m。

解答:

1 )根据题意,原因和结果如下。

原因:

1——第一列文字为a;

2——第一列文字为b;

第3——列的文字是数字。

结果:

修改21——文件

22给出22 ——信息的l;

给出23——信息的m。

2 )其对应因果关系图如下。

11是考虑到中间节点原因1和原因2不会同时成为1,在因果图中添加e限制。

3 )根据因果图制作判断表。

表中8个案例中,在左2列案例中,原因和原因同时为1,这是不可能发生的,应该排除这2个案例。 的底部一栏显示了六个案例的测试案例。 这是我们需要的数据。

2 .有处理单价5角饮料的自动售货机软件测试用例的设计。 其规格说明如下。 投入5角或1元的硬币,按下橙汁或啤酒按钮,就会送来相应的饮料。 如果售货机里没有零钱的话,表示零钱结束了的红灯就会点亮。 这时,投入1元硬币按下按钮后,饮料就不送了,1元硬币也会出来。 如果找零的话,表示找零结束的红灯熄灭,送出饮料的同时返还5角硬币。

1 )分析该说明,列举原因和结果

原因:

1——售货机里有零钱

投入2——元硬币

投入3——角硬币

4——按橙汁按钮

5—— .按啤酒按钮

>结果:

21——售货机〖零钱找完〗灯亮   

22——退还1元硬币

23——退还5角硬币             

24——送出橙汁饮料

25——送出啤酒饮料

2)    画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:

11—— 投入1元硬币且押下饮料按钮

                12——押下〖橙汁〗或〖啤酒〗的按钮

                13——应当找5角零钱并且售货机有零钱找

                14——钱已付清

 

3)    转换成判定表:

      

4)    在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。

 

转载于:https://www.cnblogs.com/sunshine2016/p/5581652.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。