测试用例设计之判定表

在一个程序中,如果输入输出比较多,输入之间和输出之间相互制约的条件比较多,在这种情况下应用决策表很合适,它可以很清楚地表达它们之间的各种复杂关系。

决策表法简述:

决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并可避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。

决策表通常由以下4部分组成:

条件桩—列出问题的所有条件

条件项—针对条件桩给出的条件列出所有可能取值

动作桩—列出问题规定的可能采取的操作

动作项—指出在条件项的各组取值情况下应采取的动作

将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在判定表中贯穿条件项和动作项的一列就是一条规则。

打印机是否能打印出来正确的内容有多个因素影响,包括驱动程序、纸张、墨粉等。

(为了简化问题,不考虑中途断电、卡纸等因素的影响)

假定:优先警告缺纸,然后警告没有墨粉,最后警告驱动程序不对。

1)列出条件桩和动作桩

条件桩:  

a)驱动程序是否正确

b)是否有纸张

c)是否有墨粉

动作桩:  

a) 打印内容

b)提示驱动程序不对

c)提示没有纸张

d)提示没有墨粉

2.决策表的构造及化简

1)列出所有的条件桩和动作桩

2)确定规则的个数

3)填入条件项

4)填入动作项,得到初始决策表

5)简化决策表,合并相似规则

对于n个条件的决策表,相应有2n规则(每个条件分别取真、假值),当n较大时,决策表很庞大。实际使用决策表时,常常先将它简化。决策表的简化以合并相似规则为目标,即若表中有两条或两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件

1)得到初始判定表

1

2

3

4

5

6

7

8

条件:

功率大于50马力?

维修记录不全?

运行超过10年?

Y

Y

Y

Y

Y

N

Y

N

Y

Y

N

N

N

Y

Y

N

Y

N

N

N

Y

N

N

N

动作:

进行优先处理

做其他处理

1/2,5/7,6/8

2)简化判定表,合并相似规则

1

2

3

4

5

条件:

功率大于50马力?

维修记录不全?

运行超过10年?

Y

Y

-

Y

N

Y

Y

N

N

N

-

Y

N

-

N

动作:

进行优先处理

做其他处理

合并后的判定表

当输入条件增大时,若采用因果图法和决策表法,测试用例数会随着条件数呈指数型增长。

如:某个程序的输入条件组合为

姓名——填或不填

性别——男或女

状态——激活或未激活

若考虑全面覆盖则需8个测试用例。

若需要输入5个条件,每个条件有5个可能的取值,则需5次方(5*5*5*5*5)个测试用例。

阅读器测试

1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,      回到本章重读

2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,      继续读下去

3、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,      停止阅读,请休息

4、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,      请停止阅读,休息

5、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去

6、不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读

Step1、如果需求为文字描述,将文字转化为图形

Step2、需求中包含1个独立功能 —— 阅读测试

Step3、针对此独立功能开展需求分析

界面可见输入参数:疲倦、感兴趣、糊涂

界面不可见输入参数:电量、网络

Step4、分析界面可见输入参数的关系及特点

参数存在用户输入数据,但是并不存在有效无效规则校验—X—等价类

参数不存在区间范围 —X— 边界值

参数之间存在一个是什么另外一个必须是什么的逻辑判定关系,并且

不同参数的逻辑组合会输出不同结果 —— > 判定表

Step5、判定表法设计测试用例

一个程序,在程序中输入一个时间,包含年、月、日,程序会输出第二天的年、月、日,用决策表去分析,能列出多少条用例?

测试用例设计之判定表相关推荐

  1. 软件测试用例设计方法-判定表法

    接下来4篇分享的测试用例方法,实际工作中不常用,但是能够为测试用例提供设计思路. 首先分享的是,判定表法. 等价类划分法和边界值法着重考虑输入条件,但是忽略了输入条件的各种组合.输入条件之间的相互制约 ...

  2. 测试用例之因果图/判定表

    测试用例之因果图/判定表 测试用例   因果图和判定表(网上搜集的案例,不喜勿喷) 一. 适应场合: 在一个界面中有多个控件,如果控件之间存在组合关系或者限制关系,不同的控件组合会产生不同的输出结果, ...

  3. 转载 用例设计之判定表

    1.判定表的介绍 在对软件进行需求分析时,市场部人员需要跟用户进行不断的沟通,这时可能会根据软件功能的期望让用户填一些调查表格,用户会根据条件选择自己期望达到的效果.如果将条件称为输入,将期望效果称为 ...

  4. 测试用例--因果图、判定表法

    因果图.判定表法 一.应用场合 在界面中有多个控件,控件之间有组合或限制关系,不同的输入组合会对应不同的输出结果,如果想弄清楚不同的输入组合到底对应哪些输出结果,可以使用因果图/判定表法.(因果图/判 ...

  5. 编写测试用例方法----因果图判定表

    因果图: 一.应用场合 在一个界面中,有多个控件,测试的时候要考虑控件的组合关系,不同的控件组合会产生不同的输出结果的组合,为了弄清什么样的输入组合会产生什么样的输出组合,使用因果图法. 二.因果图核 ...

  6. 用例设计:判定表驱动法

    转载于:https://www.cnblogs.com/felix1314/p/11133785.html

  7. 判定表测试用例方法——实例

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

  8. 软件测试用例设计方法(一)

    目录 软件测试用例设计之等价类划分法 一.等价类划分法的定义 二.等价类划分法的术语 三.等价类划分原则 四.实例演示(三角形问题和档案管理系统问题) 软件测试用例之边界值分析法 一.边界值分析法定义 ...

  9. 测试基础:测试用例设计方法

    测试用例 用例属性: 功能测试.性能测试.兼容测试.安全性测试 编写测试用例包括的内容: (禅道.excel) 编号.标题.前置条件.操作步骤.预期结果.优先级.一级二级分类.测试人员.测试结果.备注 ...

最新文章

  1. 使用RecycleView实现无限滚动的日历
  2. Hadoop3.0基础平台搭建(三节点),以及案例运行并使用python生成词云
  3. [云炬创业基础笔记]第二章创业者测试13
  4. 快速开发平台网格部件合并单元格。
  5. 关于async与await的FAQ 转
  6. 信息学奥赛一本通(2064:【例2.1】交换值)
  7. tqdm使用(Python进度条)
  8. [fzu 2273]判断两个三角形的位置关系
  9. 2345电脑管家_PS教程第一节:如何正确安装PScc?安装前做好这一步电脑才不会卡顿....
  10. ​从程序员到 33 岁的亿万富翁
  11. 机器人煮面机创始人_煮面机器人会是未来的「食神」吗?
  12. JAVA笔记自整理(Java)
  13. MTK ELT工具,驻网
  14. ceph osd heartbeat 分析
  15. google Chrome 浏览器升级更新了来源策略,导致不同域名来源页面信息【Referer】只有域名信息
  16. 使用Wifi pineapple(菠萝派)进行Wi-Fi钓鱼攻击
  17. 论文解读:K-BERT:Enabling Language Representation with Knowledge Graph(AAAI-20)
  18. 编译iMX8安卓源代码笔记
  19. 搭建Ubuntu16.04的nfs服务遇到的问题
  20. 小提琴和钢琴一起学行吗_选学钢琴、小提琴的5大误区,家长一定要知道!

热门文章

  1. 【转】UIPopoverController的使用
  2. 快速排序及时间复杂度和空间复杂度
  3. 匹配算法告诉你为什么要找女(男)朋友一定要主动?
  4. 安全架构-SQL注入原理及防范
  5. JavaScript的定时器延时器
  6. HarmonyOS(鸿蒙)App项目实战(1)运动手表篇学习笔记
  7. 小白的蚁群算法学习总结
  8. 【金融量化】电话口试-智力题
  9. 玩转手机编程之HelloWorld
  10. CodeForces 6D Lizards and Basements 2(DFS)