1. 因果图法的定义

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,他适合与检查程序输入条件的各种组合情况。

2. 因果图法的意义

等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试测试到了,但多个输入条件组合起来可能出错的情况却被疏忽了

3. 因果图法的适用场合

如果测试的时候==必须考虑输入条件的各种组合==,所以必须考虑采用一种合适于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用到因果图法

4. 因果图法的四种关系

输入条件与输出结果之间有4种关系:恒等、非、或、与

  • 恒等:若原因出现,则结果出现,反之。例如:若c1 = 1则e1 = 1;若c1 = 0则e1 = 0;
  • 非:若原因出现,则结果不出现,反之。例如:若c1 = 1则e1 = 0; 若c1 = 0则e1 = 1;
  • 或:若几个原因之中有一个出现,则结果出现;若几个原因都不出现,则结果不出现;例如,若c1=1或c2=1或c3=1,则e1=1;若c1=c2=c3=0,则e1=0;
  • 与:若几个原因都出现,则结果出现;若几个原因有一个不出现,则结果不出现;例如,若c1=c2=1,则e1=1;若c1=0或c2=0,则e1=0;

在这里插入图片描述

5. 因果图的基本约束

约束:是指输入状态还存在某种依赖关系,这种关系称作约束。这种制约关系一般可被分为5类:互斥、包含、唯一、要求和屏蔽。

输入条件的约束有以下4类:

  • 互斥(E): 表示a、b、c这3个原因不会同时成立,最多有一个可能成立。
  • 包含(I): 表示a、b、c这3个原因中至少有一个必须成立。
  • 唯一(O): 表示a、b、c中必须有一个成立,且仅有一个成立。
  • 要求®: 表示当a出现时,b必须也出现。例如,若a=1,则b必须为1。

在这里插入图片描述

输出条件约束类型只有1种:

  • 屏蔽(M):若a=1,则b必须为0;而当a=0时,b的值不定。

6. 因果图法的应用案例

  1. 分析需求,获取条件和动作
  2. 分析条件与条件,条件与动作之间的关系
  3. 通过关系画出因果图
  4. 将因果图化为决策表

需求

  1. 输入手机号或邮箱作为账户名
  2. 输入正确的验证码

动作

  1. 账号名和验证验证成功,填写账户信息
  2. 输入手机号或电子邮箱格式错误,报L错误
  3. 验证码输入错误,报M错误

因果图

在这里插入图片描述

决策表

1234
条件桩输入手机号XNTN
输入电子邮箱XNNT
输入正确验证码NXTT
动作桩填写账户信息
报错L
报错M

根据决策表写出测试用例

用例编号用例描述预期结果
1手机号和电子邮箱至少有一个输入,但验证码输入错误报错误M
2手机号和电子邮箱输入错误报错误L
3手机号输入正确,验证码输入正确可填写账户信息
4电子邮箱输入正确,验证码输入正确可填写账户信息
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐