精华内容
下载资源
问答
  • 判定表的优化
    千次阅读
    2020-04-06 10:38:44

    前言

    有关软件测试中判定表的学习笔记,特此记录

    判定表

    定义

    判定表的定义:(摘自百度百科)
    判定表(Decision table)是另一种表达逻辑判断的工具。与结构化语言和判断树相比,判断表的优点是能把所有条件组合充分地表达出来

    判定表元素

    1. 条件桩:列出问题的所有条件(可能会出现的问题)
    2. 条件项:列出所列条件的具体赋值(可能出现的问题的组合)
    3. 动作桩:列出可能针对问题所采取的操作(问题所对应的操作)
    4. 动作项:列出在条件项(各种赋值)组合情况下应该采取的动作(不同组合的问题所应当执行的操作)

    规则和简化

    规则:由不同的条件导致不同的动作就成为规则,在判定表中体现为不同的条件项得到不同的动作项。在判定表中贯穿条件项和动作项的一列就是一条规则。
    化简:因为初始化判定表包括条件的所有组合,这时有些组合可能是不能实现的,有些动作可能是由一些相似的条件组成的,这时就需要按照等价类划分的原则进行化简。

    步骤

    1. 确定条件桩
    2. 确定动作桩
    3. 将条件桩进行组合
    4. 确定每个条件桩所对应的动作桩
    5. 设计测试用例

    示例

    打印机与打印文件
    条件桩:

    • A1:驱动程序是否正确?
    • A2:是否有纸张
    • A3:是否有墨

    动作桩

    • B1:打印内容
    • B2:提示驱动程序出错
    • B3:提示没有纸
    • B4:提示没有墨

    因为有3个条件桩,所以应有 2 3 2^3 23列,(1为是,0为否)

    12345678
    问题A110110010
    问题A211010100
    问题A311101000
    建议B110000000
    建议B201000000
    建议B300101011
    建议B400010100

    继而再进行简化(优化)

    124/63/5/7/8
    问题A110--
    问题A21110
    问题A3110-
    建议B11000
    建议B20100
    建议B30001
    建议B40010

    解释

    以列名为1,2,4/6所在的列为例:

    1. 如果驱动程序正确(A1),有纸张(A2),有墨(A3) 就能进行打印(B1)
    2. 如果驱动程序不正确(A1),有纸张(A2),有墨(A3)就会提示驱动程序错误
    3. 无论驱动程序是否正确(A1),有纸张(A2),没有墨(A3)就会提示没有墨
    更多相关内容
  • 判定表一张判定表由 4 部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作。判定表右半部的每一列实质上是一条规则,规定了与特定...
  • 测试用例设计方法——判定表

    千次阅读 2022-04-08 16:48:28
    测试用例设计方法——判定表判定表法表示的是有多个输入,和多个输出,而且输入与输入之间有相互的组合关系、输入和输出之间有相互的制约和依赖关系, 判定表由四个组成部分 判定表基本概念  条件桩:输入条件...

    测试用例设计方法——判定表法

    判定表法表示的是有多个输入,和多个输出,而且输入与输入之间有相互的组合关系、输入和输出之间有相互的制约和依赖关系, 判定表由四个组成部分

    1. 判定表基本概念
      条件桩:输入条件, 列出了系统的所有输入,列出的输入次序无关紧要
      动作桩:结果, 列出了系统可能采取的操作,这些操作的排列顺序没有约束
      条件项:输入条件取值的全部组合, 列出针对它左列输入的取值,在所有可能情况下的真假值
      动作项:条件项对应的所有的结果, 列出在输入项的各种取值情况下应该采取的动作
      规则:一组条件与动作的组合,一条规则对应一条测试用例

    动作项和条件项一起,指出了在条件项的各种取值情况下应该采取的动作,在判定表中贯穿条件项和动作项的一列就是一条规则,可以针对每个合法输入组合的规则设计用例进行测试
    2.实例:
    功能:若用户欠费或关机,则不允许机主被叫

    3.判定表法设计测试用例的步骤:
    定义条件桩与动作桩——设计优化判定表(全组合)——填写动作项——简化判定表(结果相同的列,如果只有一个条件不同,可以将这两列合并成一列)——抽取用例(每个规则对应一条用例)
    4.案例分析
    案例:注册功能,验证用户名需求:第一项要求输入手机号或邮箱作为账户名,第二项要求正确输入验证码,两项都验证成功后填写账户信息;但如果第一项校验不成功,则报错L(输入手机号或邮箱格式错误);如果是第二项验证不成功,则报错M(验证码输入错误)。
    全组合:

    简化判定表:
    第一项输入手机号,则第一项不可能输入邮箱,因此1,2情况不存在;3,5情况结果相同,但是有两个条件不同,因此不能合并。

    步骤总结:
      1.分析需求,确定条件桩和动作桩
       2.全组合条件,得到条件项;
       3.根据条件项,依次填写动作项;
      4.简化判定表;
      5.输出测试用例(一个规则对应一条测试用例)。

    练习案例:

    有一个饮料自动售货机(处理单价为5角钱硬币)的控制处理软件,它的软件规格说明有
    1.若投入5角钱的硬币,按下橙汁啤酒的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按橙汁啤酒的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
    2.不能同时投两个硬币,不能一次同时购买2瓶及以上饮品。
    3.如果出现错误,给出相应的提示信息。

    根据上诉需求,使用判定表法编写测试用例的步骤如下:
    1.分别找出所有的原因和结果,并找出原因与结果之间的所有可能的组合关系,画出判定表。

    1. 根据判定表中的信息,编写测试用例。
    展开全文
  • 软件测试用例设计方法-判定表

    千次阅读 2020-06-20 16:33:54
    首先分享的是,判定表法。 等价类划分法和边界值法着重考虑输入条件,但是忽略了输入条件的各种组合、输入条件之间的相互制约关系。 因此,需要判定表法和因果图法作为辅助工具,协助梳理条件间的逻辑关系。 定义 ...

    接下来4篇分享的测试用例方法,实际工作中不常用,但是能够为测试用例提供设计思路。

    首先分享的是,判定表法

    等价类划分法和边界值法着重考虑输入条件,但是忽略了输入条件的各种组合、输入条件之间的相互制约关系。

    因此,需要判定表法和因果图法作为辅助工具,协助梳理条件间的逻辑关系。

    定义

    判定表法

    分析和表述若干输入条件下,被测对象针对这些输入做出响应的一种工具

    在遇到逻辑复杂的业务时,可以利用判定表理清期间的逻辑关系。

    重要概念

    条件:

    条件桩:需求规格说明书定义的被测对象的所有输入

    条件项:针对条件桩可能输入数据值

    动作:

    动作桩:针对条件,被测对象可能采取的所有操作

    动作项:针对动作桩,被测对象相应的可能取值

    在上图的登陆页面中,条件桩指的是手机号输入和密码输入,条件项指的是正确的手机号或者错误的手机号。

    另一方面,动作桩指的是输入手机号和密码后,是登陆成功?还是提示错误信息?动作项指的是对应动作桩的取值,假如关于登陆成功这个动作桩,为真时取1,为假时取0,那么点击登录按钮后,这个动作桩的动作项可能是1,也可能是0。

    设计步骤

    1. 理解需求,确定条件桩、动作桩
    2. 设计及优化判定表
    3. 填写动作项
    4. 根据判定表中输入结果的表现,进行判定表的合并(非必须)
    5. 简化判定表:如果输出相同,在对应输入中,有且只有一个条件的取值对动作不产生任何影响则合并

    在前面的登陆功能中:

    1. 正确的手机号及密码:登录成功
    2. 手机号或密码为空:提示“手机号或密码不能为空”
    3. 手机号或密码错误,提示“请输入正确的手机号或密码”

    根据以上条件桩和动作桩,生成判定表:

    简化判定表:由于密码的正确与否,取决于手机号。

    一般登录信息的数据库表,都是先到数据库表中找到对应的手机号,在找到手机号的前提下,再去匹配密码是否正确,如果手机号一开始就错了,就不会匹配密码。

    其中空值是一种特殊的错误,并且能够覆盖到3个动作桩。

    因此,后面3个关于“错误的手机号”的条件项,可以排除掉。

    得到简化后的判定表:

    最后,根据简化后的判定表,就可以编写测试用例了。

    以上就是本篇文章所要分享的内容,欢迎各位大牛指正。你的指正,能让我在测试之路上快速成长。

    Leo Never Stop Fighting!

    展开全文
  • 让碎片成体系,让测试更专业 想必大家都接受过九年义务教育,但是,同样是九年义务教育,有人成为了父母嘴里别人家的孩子,而大多数人却成为父母眼中不上进的熊孩子。...1、 什么是判定表 判定...
    点击上方 BeTester ,学习更多知识
    让碎片成体系,让测试更专业

    想必大家都接受过九年义务教育,但是,同样是九年义务教育,有人成为了父母嘴里别人家的孩子,而大多数人却成为父母眼中不上进的熊孩子。期末班级颁奖,“三好学生”就成为别人家孩子的标签。那么,大家还记得“三好学生”是具备哪三种品质吗?思想品德好,身体好,学习好。想当年,大家可是争破头只为夺这“三好”头衔。

    1、 什么是判定表

    判定表,也叫决策表,是对多种输入条件下软件系统执行不同动作的分析工具,它可以把复杂的逻辑关系和多种条件组合的情况表达得具体明确。

    2、 判定表的组成元素

    判定表通常由条件桩、条件项、动作桩、动作项组成。
    (a)条件桩:被测对象的所有输入
    (b)条件项:被测对象的输入取值
    (c)动作桩:被测对象可能采取的操作/表现
    (d)动作项:在各个条件项的组合下,被测对象所采取的动作/表现

    三好学生例子中,思想品质、身体、学习对应的是条件桩。成为三好学生 和 没成为三好学生 便是动作桩。

    判定表参考模板:
    判定表模板

    3、 判定表的优缺点及适用范围

    3.1 优点

    1. 能够把复杂的问题简单化,按照功能的各个条件进行组合,便于分析。

    3.2 缺点

    1. 无法对循环体结构类型进行分析
    2. 随着条件的变多,判定表会变得异常庞大(规则数为条件的可选数量乘积),实战性不高

    3.3 适用范围

    1. 条件的排列顺序不影响执行操作。
    2. 规则的排列顺序不影响执行操作。
    3. 每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
    4. 如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。

    4、 判定表设计用例步骤

    1. 确定规则的个数
      在判定表里的 规则 是指,条件桩进行排列组合后的集合,对应到判定表右侧的所有列,每一列都可以对应一个测试用例。
      如果有3个条件,每个条件有2个取值,则有 2x2x2 = 8种规则,判定表中则有8列。

    2. 列出所有的条件桩和动作桩

    3. 填入条件项

    4. 填入动作桩和动作项

    5. 化简,合并相似规则

    6. 将每条规则转化为用例

    5、 判定表步骤解析

    5.1 判定表的化简与合并

    化简工作是以合并相似规则为目标。如果表中有两条或多条规则具有相同的动作,并且其条件项之间存在极为相似的关系,即可将其合并。
    下图中,E1的取值都是X,且C1和C2的取值相同,C3的取值不同,那么可以得出,只要C1和C2取值为Y/N,无论C3怎么取值,结果都是X。

    下图中E1的取值为X,C1和C3的取值相同,且第一列的C2取值包含了第二列的C2取值范围,所以第二列是重复的,可以去掉第二列。

    6、 判定表实例

    6.1 打印机

    在日常工作中,我们经常会使用到打印机。那么如何才能正常使用打印机呢?按照正常流程,我们需要确保电脑有打印机的驱动,打印机正常工作、打印机的纸张充足、打印机墨粉充足才能满足打印。

    (a)得到条件桩和动作桩:

    (b)生成判定表

    (c)化简

    1. 列 5/9/10/11/12/13/15/16 中,结果都是E2 = ,1,且不管C2/C3/C4的值是什么,只要C1 = 0,所以可以合并这几列。
    2. 列 4/7/8/15中,结果都是 E3 = 1,不管 C3和C4取什么值,只要 C1 = 1和 C2 = 0,所以合并这几列。
    3. 列 3/6 中,结果都是 E4 = 1, 不管 C4取什么纸,只要 C1=1 、 C2=1 和 C3=0,所以这两列可以合并。

    7、 小结

    请大家基于自身的经验与本节内容的讲解对判定表做好深入的理解。在实际工作中,也许我们很难把这种方法运用起来(因为判定表实在难以使用),但是其中的思想值得我们去学习。


    ---- 更多文章 ----

    BeTester

    展开全文
  • 06_因果图法、判定表法、场景法

    千次阅读 2021-10-03 14:53:19
    判定表法 实例 1)分析条件和动作 2)写入条件桩、动作桩、条件项、动作项: 3)对判定表进行简化和优化(其中不合理或重复的进行取舍) 不管金额的高低,只要未过期,就会发送批准单和提货单(在测试时间不充足的...
  • 因果图+判定表法+场景法分析

    千次阅读 2021-01-06 22:13:28
    判定表法 1、应用场景:主要适用于多条件内容组合与结果分析 2、组成:由条件项、动作项、条件框、动作桩四部分组成。 3、使用的条件,所有的条件桩在表中的位置和顺序互相不影响。那个条件不影响结果 所有动作桩的...
  • 黑盒测试用例设计--判定表驱动法

    千次阅读 2017-08-01 13:18:43
    判定表驱动法 基本思路:对多个条件的组合进行分析,从而设计测试用例来覆盖各种组合。   判定表:是分析和表达多逻辑条件下执行不同操作的情况下的工具。   判定表5个概念:  条件桩:问题的输入条件列出...
  • 文章目录一、因果图法1、什么是因果图法2、因果图步骤3、因果图使用实例二、判定表法三、场景法四、正交实验法五、功能图法 一、因果图法 1、什么是因果图法 因果图是一种适合于描述对于多种输入条件组合的测试方法...
  • 判定表定义 分析和判断若干条件下,被测对象根据这些输入做出相应判断的一种方法 在遇到复杂的业务逻辑时,可以利用该表理清业务逻辑关系 重要概念 条件 条件桩 需求规格说明书定义的被测对象的...
  • 因果图 一、应用场合 在一个界面当中,有多个控件,控件之间存在组合关系,而且不同的输入组合会...使用判定表方法 无效等价类的常见处理方式: (1)输入无效数据后,给出错误提示 (2)把输入的无效数据自动纠正成有
  • 第四章 判定表

    2019-04-09 10:20:23
    1、判定表定义:分析和表述若干输入条件时,被测对象针对这些输入做出的相应一种工具 在遇到复杂业务逻辑时可以利用该表理清业务逻辑关系 条件:条件桩:根据规格说明书定义被测对象的所有输入 条件项:针对条件...
  • (3)对所有输入组合进行检查,将不合理的输入组合删除 (4)明确每个组合对应的动作项,形成判定表 (5)根据判定表设计测试用例,每一列就是一条测试用例 简化(规则合并): 前提:同时满足①动作项完全一样②每...
  • (七)判定表驱动法

    千次阅读 2015-04-14 14:41:14
    2.1 判定表了解 1)定义: 判定表也称决策表,是分析和表达逻辑条件下执行不同操作的情况下的工具。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏,设计出完成的测试用例集合。 2)组成: ...
  • (1)分析条件和动作 (2)写入条件项,动作项,条件桩,动作桩 (3)对判定表进行简化和优化,减少测试成本 不管金额多少,只要未过期,就要发送批准单和提货单 (4)将判定表中的每一列(条件项和对应的动作项)...
  • 1 0 1 0 0 0 0 0 1 0 0 0 25 送出“啤酒” 0 1 0 1 0 0 0 0 0 1 0 0 ④优化判定表 六、错误推测法 基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。 28原则:80%的问题出在20%...
  • 三角形的决策表优化问题

    千次阅读 2018-10-10 19:57:03
    这道题目的答案是B,就是优化后的决策只有6条。 首先我们看规则9到规则16,这个八条决策是可以合并成一条的。就是当C1为N的时候,不管其他条件是什么,得到的都是A1:非三角形。 这样决策经过上面这个八合一...
  • 某原始决策如下,中的规则可能存在一定的冗余,如对其进行优化,得到的最优决策的规则有几条? A 5 B 6 C 7 D 8 答案: B 6条 原因: 这是一道经常被大家讨论的问题,无论是在ISTQB考试还是在平时面试中,...
  • SQL优化之多join

    千次阅读 2020-12-30 05:16:05
    关于Join如上图所示,left join和inner join的取值范围还是有很明显的不同的,看网上不少文章优化left join也不交代上下文环境,直接就是教唆把left join换成inner join,只能说是章口就莱,文体两开花......
  • 优化的三种方式 1、小 join 大 在小和大进行join时,将小放在前边,效率会高。hive会将小进行缓存。 2、mapjoin 使用mapjoin将小放入内存,在map端和大逐一匹配。从而省去reduce。 样例: ...
  • 测试用例-判定表

    千次阅读 2019-03-26 22:18:00
    判定表 概念  分析和表述若干输入条件下,被测对象针对这些输入做出响应的一种工具  判定表是分析和表达多逻辑条件下执行不同操作的情况的工具  在遇到复杂业务逻辑时可以利用该表理清业务逻辑关系 关联...
  • 因果图的符号 因果图使用实例 3.5 判定表法(少用) 什么是判定表判定表使用实例 3.6 场景法(较常用) 场景法基本原理 场景法设计实例 3.7 正交实验法(较少用) 正交试验法原理(了解即可) 正交实验法实现...
  • hive大小join优化性能

    万次阅读 2018-12-12 20:18:37
    摘要: MAPJOIN 当一个大和一个或多个小做JOIN时,最好使用MAPJOIN,性能比普通的JOIN要快很多。 另外,MAPJOIN 还能解决数据倾斜的问题。 MAPJOIN的基本原理是:在小数据量情况下,SQL会将用户指定的小全部...
  • SQL多表优化思路

    2020-06-13 11:08:57
    查询优化是面试常见问题,今天整理出来: 一、驱动选择 左右连接可以指定驱动,但是inner join无法指定,一般是系统自动判定 1.当使用left join时,左是驱动,右是被驱动 2.当使用right join时,...
  • 一般判断中是否有记录,用如下语句: select count
  • 回退预案的作用6月7日 突发事件今日点评优化小技巧 使用HINT 优化SQL6月10日 使用自动采样比例引发的故障今日点评优化小技巧 关于分析比例的判定优化小技巧 AIX下使用vmstat分析I/O问题的小技巧6月11日 阶段总结...
  • 步骤:找出输入项,找出输出项,找出输入项的关系,找出输出项的关系,找到输入与输出的关系,画因果图,得判定表 正交表 应用场景:在一个界面中有多个控件,每个控件有多个取值,控件之间可以相互...
  • 判定表中的每一列设计一个测试用例。 判定表 :分析和表达多逻辑条件下执行不同操作的工具。 由四个部分组成: 条件桩:列出了问题的所有条件,次序一般无所谓。 动作桩:列出可能的操作和结果。 ...
  • (2)掌握对测试用例进行优化设计方法。 实验内容 日期问题 测试以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1900≤year≤2050),分别作为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,826
精华内容 20,730
关键字:

判定表的优化