判定表法(决策表)-实验五例题-三角形决策表

article/2025/8/24 18:45:22

        判定表也称为决策表,其实质就是一种逻辑表。利用决策表可以设计出完整的测试用例集合。

        下面通过一个“图书阅读指南”来制作一个决策表。图书阅读指南指明了图书阅读过程中可能出现的状况,以及针对各种情况给读者的建议。在图书阅读过程中可能会出现3 种情况:是否疲倦、是否对内容感兴趣、对书中的内容是否感到糊涂。如果回答是肯定的,则使用“Y”标记;如果回答是否定的,则使用“N”标记。那么这 3 种情况可以有2 3=8 种组合,针对这 8 种组合,阅读指南给读者提供了 4 条建议:回到本章开头重读、继续读下去、跳到下一章去读、停止阅读并休息,据此制作的阅读指南决策表如表 1 所示。

 表 1 就是一个决策表,根据这个决策表阅读图书,对各种情况的处理一目了然,简洁高效。

决策表通常由 4 个部分组成,具体如下。

(1)条件桩:列出问题的所有条件,除了某些问题对条件的先后次序有要求之外,通常决策表中所列条件的先后次序都无关紧要。

(2)条件项:条件项就是条件桩的所有可能取值。

(3)动作桩:动作桩就是问题可能采取的操作,这些操作一般没有先后次序之分。

(4)动作项:指出在条件项的各组取值情况下应采取的动作。

        这 4 个组成部分对应到表 1 中,条件桩包括是否疲倦、是否对内容感兴趣、对书中内容是否感到糊涂;条件项包括“Y”与“N”;动作桩包括回到本章开头重读、继续读下去、跳到下一章去读、停止阅读并休息;动作项是指在问题综合情况下所采取的具体动作,动作项与条件项紧密相关,它的值取决于条件项的各组取值情况。

        在决策表中,任何一个条件组合的特定取值及其相应要执行的操作称为一条规则,即决策表中的每一列就是一条规则,每一列都可以设计一个测试用例,根据决策表设计测试用例就不会有所遗漏。

        在实际测试中,条件桩往往很多,而且每个条件桩都有真假两个条件项,有n 个条件桩的决策表就会有 2n 条规则,如果每条规则都设计一个测试用例,不仅工作量大,而且有些工作量可能是重复且无意义的,例如,在表 1 中,第 1、2 条规则,第1 条规则取值为:Y、Y、Y,执行结果为“停止阅读并休息”;第 2 条规则取值为:Y、Y、N,执行结果也为“停止阅读并休息”。对于这两条规则来说,前两个问题的取值相同,执行结果一样,因此第3个问题的取值对结果并无影响,这个问题就称为无关条件项,使用“-”表示。忽略无关条件项,可以将这两条规则进行合并,如图 1 所示。

        由图 1 可知,规则 1 与规则 2 合并成了一条规则。由于合并之后的无关条件项(-)包含其他条件项取值,因此具有相同动作的规则还可进一步合并,如图2 所示。 

         由图 2 可知,包含无关条件项“-”的规则还可以与其他规则合并。注意:

        图 2 中只是演示合并后的规则,还可以与其他规则进一步合并,但规则1 与规则2 合并之后就不再存在于决策表中了。

        将规则进行合并,可以减少重复的规则,相应地减少测试用例的设计,这样可以大大降低软件测试的工作量。图书阅读指南决策表最初有 8 条规则,进行合并之后,只剩下5 条规则,简化后的图书阅读指南决策表如表 2 所示。

        表 2 是简化后的图书阅读指南决策表,相比于表 1,它简洁了很多,在测试时只需要设计 5 个测试用例即可覆盖所有的情况。 


实验案例:三角形决策表

        在测试用例中,三角形问题是一个永盛不衰的经典案例。要求使用决策表实现三角形问题的构建与测试用例的设计。

三角形的三边是否能构成三角形?如果能构成三角形,那么是构成一般三角形、等腰三角形还是等边三角形?据此分析,三角形问题有 4 个原因:是否构成三角形?a=b?b=c?c=a?有 5 个结果:不构成三角形、一般三角形、等腰三角形、等边三角形、不符合逻辑,具体如表 3 所示。

         在表 3 中,有 4 个原因,每个原因可取值“Y”和“N”,因此共有2 4=16 条规则,如表4 所示。

        在表 4 中,由规则 9 到规则 16 可知,只要 c1 为 N,则无论 c2、c3、c4 取何值结果都是 e1,因此 c2、c3、c4 为无关条件项,可以将规则 9 到规则 16 合并成一条规则,而剩余其他规则无法合并简化,因此简化后的决策表如表 5 所示。

        根据表 5 可设计 9 个测试用例用于测试三角形,如表 6 所示。


实验内容

        某房产中介公司的中介费政策如下:如果房屋销售总价少于 10 万元,那么基础中介费将是销售额的 2%;如果房屋销售总价大于 10 万元,但少于 100 万元,那么基础佣金将是销售额的 1.5%,外加 1 000 元;如果销售额大于 100 万元,那么基础中介费将是房屋销售总价的 1%,外加 1 500 元。另外房屋销售单价和销售的套数对中介费也有影响。如果单价低于1万元/m2,则外加基础中介费的 5%,此外若是老顾客,则减免外加基础中介费;若单价在1万元/m2 以上,但低于 2 万元/m2,则外加基础中介费的 2.5%,若是老顾客,则减免外加基础中介费;若单价在 2 万元/m2 以上,则减免外加基础中介费,若是老顾客,则减去基础中介费的 5%。

        请使用决策表法设计测试用例。 分析如下:

(1)分析各种输入情况,列出为房屋销售总价、单价、客户性质的有效等价类。

房屋销售总价的有效等价类

S1:{0≤Sale<100 000}。

S2:{100 000≤Sale<1 000 000}。

S3:{Sale≥1 000 000}。

房屋销售单价的有效等价类:

P1:{Price<10 000}。

P2:{10 000≤Price<20 000}。

P3:{Price≥20 000}。

客户性质的有效等价类:

B1:{新客户}。

B2:{老客户}。

(2)分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。考虑各种有效的输入情况,程序中可能采取的操作有以下6种:

a1:基础中介费为销售总价的 2%。

a2:基础中介费为(销售总价的 1.5%+1 000)元。

a3:基础中介费为(销售总价的 1%+1 500)元。

a4:外加基础中介费的 5%。

a5:外加基础中介费的 2.5%。

a6:减去基础中介费的 5%。

(3)根据以上分析的步骤(1)和(2),画出决策表,如表 7 所示。

 根据上述房产中介费收费的决策表,设计测试用例,如表 8 所示。

 


http://chatgpt.dhexx.cn/article/sj2wXX9u.shtml

相关文章

测试设计之决策表

案例一、四边形4条边:a,b,c,d,其中a、c为对边,b、d为对边,根据条件判断四边形类型 条件:C1:a//c;C2:b//d;C3:ac&#xff1…

【软件工程】决策表和决策树

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

规则引擎 Drools--决策表(Decision Table)使用简介

参考:规则引擎 Drools:决策表_jueyinga的博客-CSDN博客_drools 决策表 一、规则引擎 Drools:决策表 Drools除了支持drl形式的文件外还支持xls格式的文件(即Excel文件)。这种xls格式的文件通常称为决策表(d…

如何用决策表设计测试用例?

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

浅谈决策树与决策表

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

决策表法

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

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;…