浅谈决策树与决策表

article/2025/8/24 19:25:35

前言

在程序设计过程中,经常会出现多层逻辑控制的嵌套,而这样的嵌套关系往往会导致我们不能直观的看出程序的逻辑关系,这会导致在测试过程中比较容易出现遗漏。因此我们需要引入决策表、决策树,其中决策表就是设计逻辑控制时十分重要的一个工具。

决策表

先看看定义(虽然并且没多少人能一眼看懂),但我还是决定先列在这里,等你阅读了后面例子之后就会明白。 概念:决策表是分析和表达多逻辑条件下执行不同操作的工具。

其次我们来看看决策表的构成:
  在这里插入图片描述
条件桩——列出问题的所有条件
条件项——针对条件桩给出的条件列出所有可能的取值
动作桩——列出问题规定的可能采取的操作
动作项——支出在条件项的各组取值情况下应采取的动作
规则——任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判定表中贯穿条件项和动作项的一列就是一条规则。

这里我们用一个例子来看看:

一个Party的收费标准:

1、一般男士收费为 1000
    2、一般女士收费为 800
    3、大于30岁的人士收费为 500
    4、月收入超过5w的男士收取 200

首先根据上面的信息我们可以抽取出如下条件:
  在这里插入图片描述一个完整的决策表建立步骤应该是:

1、确定规则个数
    2、列出所有的条件桩和动作桩
    3、填入条件项
    4、填入动作桩和动作项,得到初始决策表
    5、化简,合并相似规则
    6、依据决策表,选择测试数据,设计测试用例

最终生成的决策表样例如下图:
  在这里插入图片描述
这里需要说明一下:我们在看这个表的时候,需要看条件项的列,一列条件项对应一个动作项的结果,也就是一个测试case。

当然决策表也可以是这个样子的:
  在这里插入图片描述

当构建完决策表后,我们可能会担心遗漏一些内容,这个时候就需要用决策树来验证一下。

决策树

判断是否有遗漏就是每个子节点的根需要将其叶子节点的所有结果都画出来,然后检验一下是否有遗漏即可。
在这里插入图片描述
参考链接
http://www.cnblogs.com/by-dream/p/5336918.html


http://chatgpt.dhexx.cn/article/9yilNRHZ.shtml

相关文章

决策表法

决策表法介绍: >>在因果图法设计测试用例的步骤中“因果图转换成判定表”中已使用了判定表。判定表又称决策表,为决策表发的核心,是分析和表达 多逻辑条件下执行不同操作情况的有效工具。因此,决策表法是一种能够将复杂逻辑…

6.决策表

决策表的使用方式与使用drl规则文件基本一致&#xff0c;好处是可以把一些相关的规则以表格方式展示&#xff0c;便于阅读及维护 1.maven依赖 <!-- 决策表 --> <dependency><groupId>org.drools</groupId><artifactId>drools-decisiontables&l…

请根据以下需求使用决策表设计测试用例

任务3&#xff1a;请根据以下需求使用决策表设计测试用例 信用卡额度发放&#xff1a; 年收入小于2万&#xff0c;不发放信用卡&#xff1b; 2万<年收入<5万&#xff0c;无稳定工作&#xff0c;额度1万&#xff0c;有稳定工作额度3万&#xff1b; 5万<年收入<1…

决策表法用例设计

决策表法 在一些数据处理问题中,某些操作是否实施依赖于多个逻辑条件的取值。 也即在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操作。 处理这类问题的一个非常有力的分析和表达工具是决策表,它可以很清楚地表达各种条件之间的复杂关系。 早在程序设计发…

决策表与决策树

决策表的定义&#xff1a; 决策表又称判断表&#xff0c;是一种呈表格状的图形工具&#xff0c;适用于描述处理判断条件较多&#xff0c;各条件又相互组合、有多种决策方案的情况。精确而简洁描述复杂逻辑的方式&#xff0c;将多个条件与这些条件满足后要执行动作相对应。但不…

决策表

决策表&#xff0c;也叫判定表。在所有的功能性测试方法中&#xff0c;基于决策表的测试方法被认为是最严格的&#xff0c;因为决策表具有逻辑严格性。 决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。在程序设计发展的初期&#xff0c;决策表就已被用作编写程序的…

决策表法的应用

决策表的组成 决策表通常由以下4部分组成&#xff1a; 条件桩—列出问题的所有条件 条件项—针对条件桩给出的条件列出所有可能的取值 动作桩—列出问题规定的可能采取的操作 动作项—指出在条件项的各组取值情况下应采取的动作 条件桩条件项 …

什么是“决策表”?什么是“决策树”?

决策表&#xff1a; 决策表又称判断表&#xff0c;是一种呈表格状的图形工具&#xff0c;适用于描述处理判断条件较多&#xff0c;各条件又相互组合、有多种决策方案的情况。 在所有的功能性测试方法中&#xff0c;基于决策表的测试方法被认为是最严格的&#xff0c;因为决策…

功能测试技术——决策表法

一、决策表的概念 在一些数据处理问题当中&#xff0c;某些操作的实施依赖于多个逻辑条件的组合&#xff0c;即&#xff1a;针对不同逻辑条件的组合值&#xff0c;分别执行不同的操作。决策表就是分析和表达多逻辑条件下执行不同操作情况的工具。 二、决策表的组成 决策表通…

决策表(决策树)

1.什么是决策树 决策树是一种基本的分类与回归方法&#xff0c;在分类问题中&#xff0c;表示基于特征对实例进行分类的过程。它可以认为是if-then规则的集合&#xff0c;也可以认为是定义在特征空间与类空间上的条件概率分布&#xff0c;其主要优点是模型具有可读性&#xff0…

决策表是什么?怎么使用决策表?

实际测试中&#xff0c;如果输入条件较多&#xff0c;再加上各种输人与输出之间相互的作用关系&#xff0c;画出的因果图会比较复杂&#xff0c;容易使人混乱。为了避免这种情况&#xff0c;人们往往使用决策表法代替因果图法。 决策表也称为判定表&#xff0c;其实质就是一严…

二叉搜索树详解

写在前面 本文主要分为三个部分。 第一部分介绍了二叉搜索树的基本性质。 第二部分全面详细地讲述了二叉搜索树的各种基本操作。包括WALK/遍历、SEARCH/查找、MINIMUM/最小关键字、MAXIMUM/最大关键字、SUCCESSOR/后继、PREDECESSOR/前驱、INSERT/插入、DELETE/删除等。主要参考…

完全二叉搜索树

完全二叉搜索树是两个概念的包含&#xff0c;即完全二叉树二叉搜索树。二叉搜索树是一棵二叉树&#xff0c;以根结点为中心&#xff0c;根结点左子树的所有结点权值均小于根结点的权值&#xff0c;根结点右子树的所有结点权值均大于根结点的权值。 而完全二叉树指从根结点到倒数…

数组模拟二叉搜索树(二叉排序树)

文章目录 1. 二叉搜索树的定义2. 二叉搜索树经典模板2.1 插入操作&#xff08;建树操作&#xff09;2.2 删除操作2.3 查询二叉搜索树中值为 w 的前驱/后继数值 3. 经典例题 1. 二叉搜索树的定义 二叉搜索树 (BST) 递归定义为具有以下属性的二叉树&#xff1a; 若它的左子树不…

是否二叉搜索树

6-21 是否二叉搜索树 &#xff08;25 分&#xff09; 本题要求实现函数&#xff0c;判断给定二叉树是否二叉搜索树。 函数接口定义&#xff1a; bool IsBST ( BinTree T );其中BinTree结构定义如下&#xff1a; typedef struct TNode *Position; typedef Position BinTree;…

数据结构-二叉搜索树

目录 二叉搜索树的概念及结构 概念 结构 二叉搜索树的基本操作 默认成员函数 默认构造函数与拷贝构造函数 赋值重载 析构函数 二叉搜索树的插入 非递归 递归 二叉搜索树的遍历 中序遍历---升序&#xff08;左根右&#xff09; 中序遍历---降序&#xff08;右根左…

二叉搜索树的应用

文章目录 1. 二叉搜索树的应用2. 二叉搜索树的KV模型3. 关于const K导致无法erase4. 关于while (cin >> str)5. 面试oj题5.1根据二叉树创建字符串5.2二叉树的层序遍历5.3二叉树的最近公共祖先5.4 二叉搜索树与双向链表5.5从前序与中序遍历序列构造二叉树5.6二叉树的前序遍…

【C++】二叉搜索树

目录 一、二叉搜索树概念 1、概念 2、结构 3、性质 二、二叉搜索树模拟实现 1、二叉搜索树节点 2、二叉搜索树构造函数 3、二叉搜索树查找 (1)迭代版本 (2)递归版本 4、二叉搜索树插入 (1)迭代版本 (2)递归版本 5、二叉搜索树节点删除 (1)迭代版本 (2)递归版本 …

Python 二叉搜索树

二叉搜索树(BST)&#xff0c;有时也被称为二叉排序树&#xff0c;是一种特殊类型的容器: 在内存中存储“项目”&#xff08;例如数字&#xff0c;名称等&#xff09;的数据结构。它们允许快速查找、添加和删除项目。二叉排序树是带根结点的二叉树&#xff0c;其内部结点各自存储…

构建二叉搜索树

二叉搜索树 (BST) 递归定义为具有以下属性的二叉树&#xff1a; 若它的左子树不空&#xff0c;则左子树上所有结点的值均小于它的根结点的值若它的右子树不空&#xff0c;则右子树上所有结点的值均大于或等于它的根结点的值它的左、右子树也分别为二叉搜索树 给定二叉树的具体…