浅谈决策树与决策表

本文介绍了如何利用决策表来清晰地展示和设计复杂的逻辑控制,以及如何通过决策树来验证决策表的完整性和避免遗漏。文中通过一个Party收费标准的例子详细解释了决策表的构建步骤,并强调了化简和测试用例设计的重要性。同时,提到了决策树在检查决策表完整性中的作用,确保所有可能的条件组合都被考虑在内。
摘要由CSDN通过智能技术生成

前言

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

决策表

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

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

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

一个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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值