精华内容
下载资源
问答
  • (一)判定表

    千次阅读 2020-04-06 10:38:44
    有关软件测试中判定表的学习笔记,特此记录 判定表 定义 判定表的定义:(摘自百度百科) 判定表(Decision table)是另一种表达逻辑判断的工具。与结构化语言和判断树相比,判断表的优点是能把所有条件组合充分地表达...

    前言

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

    判定表

    定义

    判定表的定义:(摘自百度百科)
    判定表(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)就会提示没有墨
    展开全文
  • 软件测试用例设计方法-判定表

    千次阅读 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!

    展开全文
  • 测试用例-判定表

    2019-03-26 22:18:00
    判定表 概念  分析和表述若干输入条件下,被测对象针对这些输入做出响应的一种工具  判定表是分析和表达多逻辑条件下执行不同操作的情况的工具  在遇到复杂业务逻辑时可以利用该表理清业务逻辑关系 关联...

    判定表

    概念

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

      判定表是分析和表达多逻辑条件下执行不同操作的情况的工具

      在遇到复杂业务逻辑时可以利用该表理清业务逻辑关系

     

    关联概念

    条件条件桩需求规格说明书定义的被测对象的所有输入
    条件项针对条件桩所有可能输入数据的真假值
    动作动作桩针对条件被测对象可能采取的所有操作
    动作项针对动作桩,被测对象响应的可能取值

     

    判定表设计用例步骤

      (1)理解需求,确定条件桩、动作桩

      (2)设计及优化判定表

      (3)填写动作项

      (4)根据判定表在红输出结果的表现,进行判定表的合并(合并规则:如果输出相同,在其对应输入中,有且只有一个条件的取值对动作不产生任何影响则可合并)

      (5)抽取测试用例

     

    案例

    栗子1

    订购单检查:

    如果金额大于500元又未过期,则发出批准单和提货单;

    如果金额大于500元,但过期了,则不发批准单;

    如果金额小于等于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。

     

    分析

    (1)条件项和动作项

    条件项1金额大于5000金额小于等于500
     1过期0未过期
    动作项1发批准单0不发批准单
     1发提货单0不发提货单
     1发通知单0不发通知单

     

    (2)判定表

      1234
    条件桩金额大于5001100
     过期0101
    动作桩发批准单1011
     发提货单1 1 1
     发通知单    1

     

    (3)测试用例

    用例编号测试项测试标题优先级预置条件测试输入操作步骤预期结果
    OrderCheck-001订购单规则检查

    测试金额大于500且

    过期时系统处理情况

    完成订购单采购流程

    满足金额大于500且

    日期过期的订单信息

    构造测试数据验证系统

    是否做出相应,不发批准单

    系统不发批准单
    OrderCheck-002订购单规则检查      
    OrderCheck-003订购单规则检查      
    OrderCheck-004订购单规则检查      
    展开全文
  • 让碎片成体系,让测试更专业 想必大家都接受过九年义务教育,但是,同样是九年义务教育,有人成为了父母嘴里别人家的孩子,而大多数人却成为父母眼中不上进的熊孩子。...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

    展开全文
  • (七)判定表驱动法

    千次阅读 2015-04-14 14:41:14
    2.1 判定表了解 1)定义: 判定表也称决策表,是分析和表达逻辑条件下执行不同操作的情况下的工具。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏,设计出完成的测试用例集合。 2)组成: ...
  • 测试用例设计方法——判定表

    千次阅读 2019-12-10 16:37:05
    1.判定表基本概念  条件桩:输入条件  动作桩:结果 ... 定义条件桩与动作桩——设计优化判定表(全组合)——填写动作项——简化判定表(结果相同的列,如果只有一个条件不同,可以将这两列合并...
  • 黑盒测试用例设计--判定表驱动法

    千次阅读 2017-08-01 13:18:43
    判定表驱动法 基本思路:对多个条件的组合进行分析,从而设计测试用例来覆盖各种组合。   判定表:是分析和表达多逻辑条件下执行不同操作的情况下的工具。   判定表5个概念:  条件桩:问题的输入条件列出...
  • 判定表定义 分析和判断若干条件下,被测对象根据这些输入做出相应判断的一种方法 在遇到复杂的业务逻辑时,可以利用该表理清业务逻辑关系 重要概念 条件 条件桩 需求规格说明书定义的被测对象的...
  • 判定表法 1、应用场景:主要适用于多条件内容组合与结果分析 2、组成:由条件项、动作项、条件框、动作桩四部分组成。 3、使用的条件,所有的条件桩在表中的位置和顺序互相不影响。那个条件不影响结果 所有动作桩的...
  • 因果图 一、应用场合 在一个界面当中,有多个控件,控件之间存在组合关系,而且不同的输入组合会...使用判定表方法 无效等价类的常见处理方式: (1)输入无效数据后,给出错误提示 (2)把输入的无效数据自动纠正成有
  • 三角形的决策表优化问题

    千次阅读 2018-10-10 19:57:03
    这道题目的答案是B,就是优化后的决策只有6条。 首先我们看规则9到规则16,这个八条决策是可以合并成一条的。就是当C1为N的时候,不管其他条件是什么,得到的都是A1:非三角形。 这样决策经过上面这个八合一...
  • 步骤:找出输入项,找出输出项,找出输入项的关系,找出输出项的关系,找到输入与输出的关系,画因果图,得判定表 正交表 应用场景:在一个界面中有多个控件,每个控件有多个取值,控件之间可以相互...
  • 判定表中的每一列设计一个测试用例。 判定表 :分析和表达多逻辑条件下执行不同操作的工具。 由四个部分组成: 条件桩:列出了问题的所有条件,次序一般无所谓。 动作桩:列出可能的操作和结果。 ...
  • 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%...
  • 一般判断中是否有记录,用如下语句: select count
  • hive大小join优化性能

    万次阅读 2018-12-12 20:18:37
    摘要: MAPJOIN 当一个大和一个或多个小做JOIN时,最好使用MAPJOIN,性能比普通的JOIN要快很多。 另外,MAPJOIN 还能解决数据倾斜的问题。 MAPJOIN的基本原理是:在小数据量情况下,SQL会将用户指定的小全部...
  •  不要求每个人一定理解 联查询(join/left join/inner join等)时的mysql运算过程;  不要求每个人一定知道线上(现在或未来)哪张表数据量大,哪张表数据量小;  但把mysql客户端(如SQLyog,如HeidiSQL)...
  • nl第一步优化:驱动限制条件有索引 第二步:被驱动的连接条件有索引 第三步:确保小结果集先驱动 2.hash连接: 第一步:两限制条件有索引 第二步:小结果集驱动 第三步:尽量保证PGA能容纳hash算法 ...
  • MSSQL数据库索引碎片整理优化性能

    千次阅读 2011-11-21 09:55:02
    当时把存储过程优化了一次又一次。索引也是删了重建。但是还是很慢。甚至就连执行 select count(id) from table 都花了37秒。 后来上网查了方法。照着检查了一遍,果然是碎片问题。一通修复后,速度骤然提升!   ...
  • NULL 不可用 = 判定,只可通过 IS NULL 去判定。 NULL 不支持 加、减、乘、除、大小比较,相等比较。 将NULL转换为其他值: coalesce 与 nvl : coalesce 依次参考各参数表达式,遇到非null值即停止并返回该值。如果...
  • 最近公司数据库常出问题,发现IBM官网的informix 通过 Informix 系统监控和优化数据库 简介: 大多数 Informix 使用者都会使用 onstat,oncheck
  • 优化基础和机器学习优化

    千次阅读 2014-11-03 09:37:54
    这算是一个基本的最优化问题。 最优化方法定义:应用数学的重要研究领域。它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。 简单来说,即以最优化数学模型来...
  •  从SQL SERVER 2005开始,数据库不默认生成NDF数据文件,一般情况下有一个主数据文件(MDF)就够了,但是有些大型的数据库,由于信息很多,而且查询频繁,所以为了提高查询速度,可以把一些或者一些中的部分...
  • 所以记录一下针对 Android 应用的内存泄漏的检测,处理和优化的相关内容,上篇主要会分析 Java/Android 的内存分配以及 GC 的详细分析,中篇会阐述 Android 内存泄漏的检测和内存泄漏的常见产生情景,下篇会分析一下...
  • MySQL 优化之SQL和索引的优化

    千次阅读 2019-05-21 02:37:45
    索引失败三.SQL和索引的优化1) 慢查询日志(很重要)2) 查看磁盘I/O读写的数据量3) show status四.优化总结 前言 “索引什么时候会用到?” “索引什么时候会失效?” “索引是不是创建的越多越好?” “索引的...
  • 这一点非常重要,如果该参数项被disable,则基于分区的查询性能无法得到优化,甚至比不使用分区直接使用索引性能更低。 分区如何加速查询优化  当constraint_exclusion为on或者partition时...
  • 页面优化

    万次阅读 2014-05-07 10:52:23
    前端优化是复杂的,针对方方面面的资源都有不同的方式。那么,前端优化的目的是什么   1. 从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。 2. 从...
  • 文章目录早期(编译期)优化概述Javac编译器Javac的源码与调试解析与填充符号注解处理器语义分析与字节码生成Java 语法糖的味道泛型与类型擦除自动装箱、拆箱与遍历循环条件编译实战:插入式注解处理器晚期(运行...
  • java编译期优化 java语言的编译期其实是一段不确定的操作过程,因为它可以分为三类编译过程: 1.前端编译:把.java文件转变为.class文件 2.后端编译:把字节码转变为机器码 3.静态提前编译:直接把*.java文件编译...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,587
精华内容 17,834
关键字:

判定表的优化