因果图定义
- 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法
- 它适合于检查程序输入条件的各种组合情况
- “因” —— 输入条件
- “果” —— 输出结果
因果图适用场景
- 描述多种条件的组合
- 产生多个动作
因果图中的基本符号
- 恒等:若原因出现,则结果出现;若原因不出现,则结果也不出现
- 非:若原因出现,则结果不出现;若原因不出现,则结果出现
- 或:有多个原因。若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现
- 与:有多个原因。若几个原因都出现,则结果才出现;若其中一个原因不出现,则结果不出现
因果图中的约束条件
- 互斥 E:a、b、c 只能有一个成立,但是可以都不成立
- 包含 I:a、b、c 中至少有一个成立
- 唯一 O:a、b、c 有且仅有一个成立
- 要求 R:如果 a 成立,则要求 b 必须也成立,其他的不约束
- 屏蔽 M:如果 a 成立的时候,强制 b 不成立,其他的不约束
因果图法基本步骤
- 找出所有的输入条件(因)
- 找出所有的输出条件(果)
- 明确所有输入条件之间的制约关系以及组合关系
- 明确所有输出条件之间的制约关系以及组合关系
- 找出什么样的输入条件组合会产生哪种输出结果
- 把因果图转换成判定表
- 为判定表中的每一列表示的情况设计测试用例
因果图法举例
交通一卡通自动充值软件系统
需求解释
- 系统只接收 50 或 100 元纸币,一次只能使用一张纸币,一次充值金额只能为 50 元或 100 元
- 在请投币的后面按 50 元按钮,代表投入 50 元纸币;按 100 元按钮,代表投入 100 元纸币
- 若按 50 元按钮,并选择充值 50 元,完成充值,提示充值成功
- 若按 50 元按钮,并选择充值 100 元,提示输入金额不足,退回 50 元
- 若按 100 元按钮,并选择充值 50 元,完成充值,提示充值成功,退回 50 元
- 若按 100 元按钮,并选择充值 100 元,完成充值,提示充值成功
- 若按投币按钮后在规定时间内不选择充值按钮,提示错误,退回投入纸币
- 若选择充值按钮后不按投币按钮,提示错误
找到所有输入条件编号
- 选择投币 50 元
- 选择投币 100 元
- 选择充值 50 元
- 选择充值 100 元
找到所有输出条件编号
- 完成充值
- 提示充值成功
- 退回纸币
- 提示错误
画图分析输入和输出的关系
条件 1、3 组合 – 输出 a、b
图转化为表格
分析输入和输出的关系
- 条件 1、4 组合 – c、d
- 条件 2、3 组合 – a、b、c
- 条件 2、4 组合 – a、b
- 条件 1 单独出现 – c、d
- 条件 2 单独出现 – c、d
- 条件 3 单独出现 – d
- 条件 4 单独出现 – d
转化为表格
转化为测试用例