问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

软件测试方法 | 手把手用决策表法画一个决策表(判定表)

创作时间:
作者:
@小白创作中心

软件测试方法 | 手把手用决策表法画一个决策表(判定表)

引用
CSDN
1.
https://m.blog.csdn.net/wyd_333/article/details/144170885

决策表法(判定表法)是软件测试中一种重要的黑盒测试方法,主要用于处理多条件组合的测试场景。本文将详细介绍决策表的概念、结构、化简方法,并通过具体实例演示如何绘制和简化决策表。

一、决策表基础

1. 概念要点

  1. 决策表以等价类为基础,是功能测试方法中最严格的。
  2. 决策表法的目标:在特定条件下消除等价类测试的冗余。
  3. 基本思想:基于强组合等价类测试,通过合并与化简来消除用例间的冗余。
  4. 决策表具有完备性,并遵循独立性假设。

注意:

  • 若输入条件之间不存在相关性,则不需要使用决策表测试。
  • 决策表测试法不处理无效等价类,不需要遵循单缺陷假设。

2. 决策表的结构

术语:

  • 条件桩:问题的所有输入条件。
  • 条件项:针对条件桩给出的条件,列出所有可能的取值。
  • 动作桩:问题规定可能采取的操作。
  • 动作项:在条件项的各组取值情况下,应采取的动作。
  • 规则:任何一个条件组合的特定取值及相应要执行的动作称为一条规则。

格式如图:

解释:

  • 条件桩(粉色方框):题干中给出的所有条件。
  • 动作桩(红色方框):所有可能的结果。
  • 条件项(绿色方框):条件所有可能的取值。
  • 动作项(蓝色方框):在某一条件组合下,输出的结果。
  • 规则:决策表中从上到下竖着的一列,包括了条件以及相应的动作。

3. 决策表的化简

化简原则:若决策表中某条件桩任意取值对动作桩无影响时,可根据实际情况进行合并。

化简的前提条件

  • 输出相同:欲化简的多个规则输出结果完全相同。
  • 输入相似:欲化简的多个规则仅有一个输入条件取值不同,其他输入条件的取值应完全相同。
  • 化简的结果:使得某个输入条件的取值对规则的输出无影响。

示例

对于“读书”示例,可以初步得到未化简的决策表:

观察上图,(1)与(2)这两条规则的条件项中,只有“是否糊涂”这一条不同;而二者的结果项完全相同(都是“跳到下一章”)。这就说明“是否糊涂”这个条件对于(1)和(2)而言是无效的,那么就可以将(1)和(2)进行合并。

同理,{(3)、(7)},{(4)、(8)},{(5)、(6)}也都可以进行合并,合并后的结果如下:

由上图可知,化简合并减少了规则数,但容易遗漏分支从而产生漏测风险,所以一般规则数量不多时尽量不化简。

二、手把手绘制决策表

五步骤

还是以这道题为例:

  1. 找出题干中提到的所有的条件和动作,像下面这样列出来:

  1. 在题干中找出所有的条件组合,一一填到上面这张图的右上侧,同时记得在第一行标号:

  1. 重回题干,找出每一个标号下条件对应的结果:

直到把整个决策表都填满。

  1. 如果有化简的要求,再进行化简。找结果相同的两个规则,并判断是否符合化简的前提条件。

  2. 画出化简后的结果,并自行验证是否画对。

新例题-1

题干:对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理。

化简、合并前的决策表:

化简、合并后的决策表:

新例题-2

题干:三角形问题

由题干可知,输出的等价类(即动作桩or输出的结果)为能否构成三角形,以及三角形的种类。可以推导出,条件应当是三角形a、b、c三条边的长度情况。可以得到如下决策表:

由于不满足化简的前提条件,故而不用化简。

三、练习

练习1:

练习2:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号