因果图法是一种运用图解法剖析输入与输出的各种组合状况,从而规划测验用例的方法,它适宜于检查程序输入条件的各种组合状况。

因果图法比较适宜输入条件比较多的状况,能够测验一切的输入条件的排列组合。因果图的 “ 因 ” 便是输入条件,因果图的 “ 果 ” 便是输出成果。

因果图适用场景

等价类划分法和鸿沟值剖析法都是侧重考虑输入条件,但没有考虑输入条件的组合以及限制联系。假如在测验时有必要考虑输入条件的各种组合,那组合的数目可能是天文数字,所以有必要考虑选用一种适宜的方法对条件组合进行剖析,简化。终究意图是用最少的测验用例覆盖最全面的场景。

因果图中的根本符号

因果图中的根本符号有四种,分别是恒等 (—) 、非 (~) 、与 (V) 、或(^)。

  • 恒等:原因和成果都只能取 2 个值,1 代表条件建立,0 代表条件不建立。恒等相当于原因建立,则成果呈现;若原因不建立,则成果也不呈现。恒等联系“—”来表明。
  • 非:原因和成果相反。若原因建立,则成果不呈现;若原因不建立,则成果呈现。非的联系用 “ ~ ” 表明。
  • 或:有多个原因。若几个原因中有一个建立,则成果呈现;若几个原因都不建立,则成果不呈现。或的联系用 “ ^ ” 来表明。
  • 与:有多个原因。只要几个原因都建立,成果才或呈现;若其中一个原因不建立,则成果不呈现。与的联系用 “ V ” 来表明。

因果图中的束缚条件

因果图中除了 4 种根本联系之外还会有一些束缚条件。从原因考虑有 4 种束缚:互斥、包含、仅有、要求。从成果考虑有 1 种束缚:屏蔽。

  • 互斥 E:a、b、c 只能有一个建立,可是能够都不建立。
  • 包含 I:a、b、c 中至少有一个建立。能够多选但不能不选。
  • 仅有 O:a、b、c 有且仅有一个为 1。也便是说多个原因中有且只要一个建立。
  • 要求 R:假如 a 建立,则要求 b 有必要也建立,其他的不做束缚。一个呈现,另一个也一定呈现
  • 强制屏蔽 M:对于成果的束缚。当 a = 1 时,要求 b 有必要为0,其他的不束缚。a 不建立时,b 的值不一定。
    仅有和互斥的区别是:仅有有必要选一个;互斥能够不选,假如选只能选一个,几个原因中有且只要一个建立。

因果图法根本步骤

1.找出一切的原因,原因即输入条件或输入条件的等价类。
2.找出一切的成果,成果即输出条件。
3.清晰一切输入条件之间的限制联系以及组合联系,判别条件是否能够组合。
4.清晰一切输出条件之间的限制联系以及组合联系,判别成果是否能够一起输出。
5.找出不同输入条件组合会发生哪些输出成果。
6.将因果图转换成断定表或决策树
7.断定表或决策表中每一列表明的状况规划测验用例。

实例

需求解说

交通一卡通主动充值软件系统。系统只接收 50 或 100 元纸币,一次只能运用一张纸币,一次的充值金额只能为 50 或 100 元。
清晰输入的条件为:
1.挑选投币 50 元
2.挑选投币 100 元
3.挑选充值 50 元
4.挑选充值 100 元
清晰输出的成果为:

  • a. 完结充值、退卡
  • b. 提示充值成功
  • c. 找零
  • d. 提示过错

剖析输入条件

技术分享 | 黑盒测试方法论—因果图

1、不能组合的条件 * 条件 1 和 2 不能一起建立;* 条件 3 和 4 不能一起建立。
2、能够组合的条件 * 条件 1 和 3 能够一起建立;* 条件 1 和 4 能够一起建立;* 条件 2 和 3 能够一起建立;* 条件 2 和 4 能够一起建立;* 条件 1 2 3 4 能够独自呈现。

剖析输出条件

技术分享 | 黑盒测试方法论—因果图

1、不能组合的输出成果(互斥联系) * 输入 a 和 d 不能一起呈现;* 输出 b 和 d 不能一起呈现。
2、能够组合的输出成果(要求) * 输出 a 和 b 一定会一起呈现(要求);* 输出 a、b、c能够一起呈现;* 输出 c、d能够一起呈现;* 输出 d 独自存在。

剖析输入和输出的对应联系

条件 1、3 组合 – 输出 a、b 组合
投入 50 ,充值 50 – 完结充值、退卡
用图表明:

技术分享 | 黑盒测试方法论—因果图

由图转化为表格:

技术分享 | 黑盒测试方法论—因果图

1080642 11.1 KB


条件 1、4 组合 – 输出 c、d 组合
投 50,充值 100 – 退钱、提示过错
用图表明:

技术分享 | 黑盒测试方法论—因果图

由图转化为表格:\

技术分享 | 黑盒测试方法论—因果图

1080642 11.3 KB


条件 2、3 组合 – 输出 a、b、c 组合
投 100 ,充值 50 – 充值成功、退卡、找零
用图表明:

技术分享 | 黑盒测试方法论—因果图

由图转化为表格:\

技术分享 | 黑盒测试方法论—因果图

1080634 11.5 KB


条件 2、4 组合 – 输出 a、b 组合
投 100、充值100 – 完结充值、退卡
由图表明:

技术分享 | 黑盒测试方法论—因果图

由图转化为表格:\

技术分享 | 黑盒测试方法论—因果图

1080642 11.7 KB


条件 1 独自呈现 – 输出 c、d 组合
只投入 50 – 充值失利提示过错、退款
由图表明:

技术分享 | 黑盒测试方法论—因果图

由图转化为表格:\

技术分享 | 黑盒测试方法论—因果图

1080636 11.9 KB


条件 2 独自呈现 – 输出 c、d 组合
只投入 50 – 充值失利提示过错、退款
由图表明:

技术分享 | 黑盒测试方法论—因果图

由图转化为表格:\

技术分享 | 黑盒测试方法论—因果图

1080636 11.9 KB


条件 3 独自呈现 – 输出 d
只投入 50 – 充值失利提示过错
由图表明:

技术分享 | 黑盒测试方法论—因果图

由图转化为表格:\

技术分享 | 黑盒测试方法论—因果图

1080638 12.1 KB


条件 4 独自呈现 – 输出 d
只投入 50 – 充值失利提示过错
由图表明:

技术分享 | 黑盒测试方法论—因果图

由图转化为表格:\

技术分享 | 黑盒测试方法论—因果图

1080639 12 KB


最后的表格便是一个断定表,再把断定表转化为测验用例。

转化为测验用例

依照断定表,终究转化出的测验用例如下表所示:

技术分享 | 黑盒测试方法论—因果图

严格的依照断定表,转化出的测验用例,很大程度上避免了在写测验用例的时候遗漏某些测验点的状况。所以我们不仅要学会,也要会用因果图法,让我们的测验作业质量有保证。

更多技术文章