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错误

因果图

在这里插入图片描述

决策表

1 2 3 4
条件桩 输入手机号 X N T N
输入电子邮箱 X N N T
输入正确验证码 N X T T
动作桩 填写账户信息
报错L
报错M

根据决策表写出测试用例

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

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

更多推荐