4、因果法

因果图中的图形符号

  • 恒等。若原因出现,则结果出现;若原因不出现,则结果不出现。
  • 非。若原因出现,则结果不出现;若原因不出现,则结果出现。
  • 或。若几个原因中有一个出现,则结果出现;若几个原因均不出现,则结果不出现。
  • 与。若几个原因都出现,结果才出现;若几个原因中有一个不出现,则结果不出现。

为了表示因果图中的约束条件,可用一些符号在因果图中加以标识。

限制关系图形符号

限制关系图形要么在因(输入条件)之间,要么在果(输出结果)之间。

 从原因方面考虑主要有4种约束条件:

  • E(互斥、排他)。a、b两个原因不会同时出现,最多只有一个出现。
  • I(包含、或)。a、b、c三个原因至少有一个出现。
  • O(唯一)。a、b两个原因必须有一个出现,且仅有一个出现。
  • R(需求)。a出现时b必定出现。

从结果方面考虑主要有1种约束条件:

M(屏蔽)。a出现时,b必定不出现;a不出现时,b则不确定。

实战演练

有一个单价为五角钱的饮料自动售货机软件,对其采用因果图方法设计测试用例。需求如下:

  • 若售货机没有零钱找,则一个显示 “零钱找完”的红灯亮,以提示顾客在此情况下不要投入1元钱,否则此红灯不亮。
  • 顾客投入5角硬币,然后按下“橙汁”或“啤酒”按钮,则相应的饮料被送出。
  • 顾客投入1元硬币并按下“橙汁”或“啤酒”按钮后,若售货机没有零钱找,则显示“零钱找完”的红灯亮,1元硬币被退出,且无饮料送出;若有零钱找,则五角硬币被退出且饮料被送出。

列出原因

 列出结果

 根据需求说明设置中间节点

 根据列出的原因、结果、中间节点画出因果图

2、3号原因不能同时出现,4、5号原因不能同时出现。

 将因果图转换成判定表

 在构成的判定表中,原因、中间节点、结果的取值为0表示其代表的状态不出现;为1表示状态出现。

中间节点与结果没有值,代表因违反约束而不会出现的情况,16、32列没有做任何操作,8、12、24、28列不符合常理(投币却没有选择饮料)为无效列,14、15、30、31列不符合常理(只选择饮料却没投币)为无效列。

根据剩下的列设计测试用例

猜你喜欢

转载自blog.csdn.net/qq1092881420/article/details/128792324