黑盒测试方法论-因果图
黑盒测试方法论-因果图
简介
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
所以说因果图法比较适合输入条件比较多的情况,我们可以测试所有的输入条件的排列组合。
- 因果图的“因”——输入条件。
- 因果图的“果”——输出结果。
因果图法要注意考虑:
- 所有输入/输出条件的相互制约关系以及组合关系。
- 输出结果对输入条件的依赖关系,也就是什么样的输入组合会产生怎样的输出结果,即“因果关系”。
使用场景
如果在测试时必须考虑输入条件的各种组合,那可能的组合数目有可能是天文数字,所以必须考虑采用一种适合的方法对条件组合进行分析,简化。
因果图中的基本符号
- 恒等:若原因出现,则结果出现;若原因不出现,则结果也不出现
- 非:若原因出现,则结果不出现;若原因不出现,则结果出现
- 或:有多个原因。若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现
- 与:有多个原因。若几个原因都出现,则结果才出现;若其中一个原因不出现,则结果不出现
因果图中的约束条件
- 互斥 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 元
-
找到所有输出条件编号
- a. 完成充值
- b. 提示充值成功
- c. 退回纸币
-
d. 提示错误
-
画图分析输入和输出的关系
- 条件 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
-
转化为表格
- 转化为测试用例
总结
- 因果图概念
- 因果图设计测试用例