决策表测试法

决策表软件测试

在软件测试行业里,有一句话是这么说的想要追求“彻底的测试是不可能的”。许多不同类型的软件测试技术都有自身的优缺点。测试人员需要根据项目需求和产品需求来选用一种更合适的测试技术来帮助他们明智地选择测试用例以及确保所有测试场景都能被覆盖。

根据ISTQB体系,软件测试技术分为两大类:

  1. 静态测试技术:在不运行软件产品的情况下,仅在规范或执行级别上测试组件或系统,例如,测试不同类型的计划、项目启动会议、准备工作等。
  2. 动态测试技术:需要测试软件产品或系统的运行。

动态测试技术再次细分为三类:

  • 基于规范的测试技术/黑盒测试技术/行为测试技术
  • 基于结构的测试技术/白盒测试技术/结构测试技术
  • 基于经验的测试技术

基于规范的测试技术是一种根据对规范的分析来推导或选择测试用例的过程,可以是对组件或系统执行的功能性测试也可以是非功能性测试,但不考虑内部结构。简而言之,测试人员更专注于软件的用途,而不是它如何工作。

再往下细分,有四种基于规范的设计技术:等价类划分法、边界值分析法、决策表法、状态转换测试法。等价划分法和边界值法通常更侧重于对用户界面的测试,而决策表法和状态转换测试方法则更侧重于对业务逻辑或业务规则的测试。

决策表的概念

决策表测试的定义是:“决策表”是一种简明的视觉表示,用于明确规定按照既定条件或输入条件需要执行哪些操作。这些算法的输出(是指算法在执行过程中或终止前)是一组操作。这些操作可以进一步被应用于设计测试用例。

决策表测试是一种黑盒测试设计技术,其中测试用例被设计为执行决策表中列出的输入组合。软件测试决策表是测试输入组合的好方法。决策表法测试方法有时也称为“因果”表。因为它包含一种被称为“因果图”的相关逻辑图解技术,有时还会被用于帮助推导决策表。

决策表可以用于自动化操作吗?

如上所述,决策类型测试是一种基于系统或组件的输入和输出相结合来设计测试用例的技术。决策表分析有助于覆盖所有可能的场景,并减少测试冗余和复杂性。不过,手动创建和执行决策表测试是非常耗时且容易出错。使用自动化决策方式可以给我们带来以下几个优势:

  • 节省时间和精力
  • 提高测试覆盖率,提升测试质量。
  • 提高可维护性和可扩展性,促进团队间的沟通与协作。
  • 测试用例自动生成并自动执行消除了人为错误
  • 更新测试用例变得很容易,在不同的场景中重复使用测试用例可以提升流程效率。

这就是测试人员需要使用一些工具或技术来实现自动化决策表测试的原因。

决策表适用于什么场景  

决策表使用条件:使用决策表的第一个任务是识别一个合适的功能或子系统,观察其行为是否会根据输入组合或事件组合做出相应的响应。我们以任一应用程序的登录界面为例,这其中包含如用户名、密码、双因素身份验证等不同的输入,以及如无效密码不允许登录、只有授权的用户名和正确的密码才能登录应用程序等不同的操作/输出。

此外,务必确保不要有太多的输入数据,否则组合数量会变得繁琐和难以管理。如果你必须处理批量的输入条件,建议先把它们划分成子集,一次处理一个子集。一旦你确定了需要组合的方面,可以将它们放入一个表中,列出每个条件的True和False的集合。在下一篇的两个例子中,我们将了解如何在不同的软件项目中应用决策模型。

Author: Maha

我是Wintesting中国站的 Maha,目前职位是市场营销&内容经理,负责CN Wintetsing网站内容的设计、编写与发布,同时还监管国内市场营销工作。与此同时,我也是一名IT培训教员,我的教育背景和所从事的行业都是与IT工程师行业及信息通信技术相关。此外,除了编写中英双语的新兴技术文稿外,我还是一名IT翻译工作者,累积翻译字数逾近10万,涉及的领域有大数据、人工智能、IoT、机器学习、云计算、AR&VR、计算机网络技术、计算机网络安全技术、应用程序测试、软件测试、系统测试、网络测试及IT基础设施等。如果你需要相关领域的内容编写或翻译工作请联系我。