软件测试/测试开发|如何使用因果图法设计测试用例?

发布时间 2023-12-27 18:17:51作者: 霍格沃兹测试开发学社

前言

我们之前介绍了等价类边界值场景法来设计测试用例,本篇文章我们来介绍一下使用因果图来设计测试用例。

因果图法

因果图(Cuase-effect Graph)是一种描述输入条件的组合以及每种组合对应的输出的图形化工具。

为什么使用因果图法?

我们之前介绍的等价类和边界值都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。因果图法着重测试规格说明中的输入与输出间的依赖关系。

因果图中的图形符号

  1. 基本图形符号

  • 恒等。若原因出现,则结果出现;若原因不出现,则结果不出现。
  • 非。若原因出现,则结果不出现;若原因不出现,则结果出现。
  • 或。若几个原因中有一个出现,则结果出现;若几个原因均不出现,则结果不出现。
  • 与。若几个原因都出现,结果才出现;若几个原因中有一个不出现,则结果不出现。

为了表示因果图中的约束条件,可用一些符号在因果图中加以标识。

  1. 限制关系图形符号

限制关系图形要么在因(输入条件)之间,要么在果(输出结果)之间。

从原因方面考虑主要有4种约束条件:

  • E(互斥、排他)。a、b两个原因不会同时出现,最多只有一个出现。
  • I(包含、或)。a、b、c三个原因至少有一个出现。
  • O(唯一)。a、b两个原因必须有一个出现,且仅有一个出现。
  • R(需求)。a出现时b必定出现。

从结果方面考虑主要有1种约束条件:

  • M(屏蔽)。a出现时,b必定不出现;a不出现时,b则不确定。

因果图法设计测试用例的步骤

  1. 确定因素和事件: 首先,需要明确系统中的不同因素和事件。分析程序的规格说明书中哪些是原因,哪些是结果。所谓原因,是指输入条件或输入条件的等价类,而结果是指输出条件。给每一个原因和结果赋一个标识符。
  2. 建立因果关系: 将这些因素和事件之间的因果关系绘制成因果图。例如,如果一个因素的变化会导致其他因素发生变化,可以使用箭头来表示这种关系。这有助于识别潜在的影响路径。分析程序规格说明书中的语义,确定原因与原因,原因与结果之间的关系,画出因果图。
  3. 识别关键路径和测试场景: 在因果图中,特别关注那些影响链条最长或最关键的路径。这些路径可能暴露系统中的敏感点,有助于确定测试的重点和优先级。由于语法环境的限制,一些原因与原因之间,原因与结果之间的组合不能出现。对于这些特殊情况,在因果图中用一些记号标明约束或限制条件。
  4. 设计测试用例: 基于因果图的分析,开始设计测试用例以覆盖不同的情况和路径。确保测试用例能够涵盖因果图中的各种因素和事件,以验证系统在不同条件下的行为和响应。

因果图的优势

  • 全面性和系统性: 因果图方法能够帮助测试团队全面地了解系统中各种因素之间的复杂关系,有助于设计更全面和系统的测试用例。

  • 定位问题和风险: 通过识别关键路径和潜在的影响因素,因果图方法有助于更好地定位问题和风险点,从而使测试策略更加有效。

  • 可视化和沟通: 图形化的表示使得因果图方法更易于理解和分享,有助于与团队成员和利益相关者之间进行更有效的沟通。

总结

因果图方法是一个强大的工具,能够为设计测试用例提供深入且系统性的方法。通过使用因果图,测试团队可以更好地理解系统的复杂性,设计出更全面、更有针对性的测试用例,从而提高软件质量并降低风险。

获取更多技术资料,请点击!