判定表
3.2.3 判定表

步 骤
3、 填入条件项、动作项 4、简化决策表 5、根据决策表设计测试用例
课堂练习 打印机打印文件问题
问题描述:
打印机是否能打印出来正确的内容,有多个因
素影响,包括驱动程序、纸张、墨粉等。
假定:优先警告缺纸,然后警告没有墨粉,最后警 告驱动程序不对。
请你使用判定表方法设计测试用例。
课堂练习
判定表
什么是判定表?
判定表也称决策表,是分析和表达多逻辑条件下执
行不同操作的情况的工具。
决策表能够将复杂的问题按照各种可能的情况全部 列举出来,简明并避免遗漏,设计出完整的测试用 例集合。
判定表实例——“阅读指南”决策表
规则 选项 你觉得疲倦吗? 问 题 你对内容感兴趣吗? 书中内容使你胡涂吗? 请回到本章开头重读 建 议 1 Y Y Y 2 Y Y N 3 Y N Y 4 Y N N 5 N Y Y √ 6 N Y N 7 N N Y 8 N N N
建 议
规则合并实例——“阅读指南”决策 表
规则 选项 你觉得疲倦吗?
1 Y — —
5 N Y Y √
6 N Y N √
7 N N —
问 题
你对内容感兴趣吗? 书中内容使你胡涂吗? 请回到本章开头重读 继续读下去 跳到下一章去读 停止阅读,请休息
建 议
√ √
决策表的建立步骤
1、列出所有的条件桩和动作桩 2、 确定规则的个数
决策表的简化主要包含两个方面:规则合并与规则包含
(1)规则合并
如果两条或多条规则的动作项相同,条件项只有一项不同,则 可以将该项合并,合并后的条件项用符号“-”表示,说明执行 的动作与该条件的取值无关,称为无关条件。
测试用例设计--判定表

测试⽤例设计--判定表1、为什么⽤判定表设计测试⽤例?等价类⽅法详细的考虑了需求输⼊域,但对于输⼊域与输⼊域存在关联时⽆法覆盖,(⽐如等价类划分设计测试⽤例时,设计⼀条新的测试⽤例,使其仅覆盖⼀个⽆效等价类,直⾄所有的⽆效等价类完全被覆盖,没有考虑⽆效等价类与⽆效等价类的组合情况)。
所以需要⼀种能考虑输⼊域间的互相关系设计⽅法来考虑业务描述性的测试需求。
2、什么是判定表?判断表是分析喝表达若⼲输⼊条件下,被测对象根据输⼊作出不同响应的⼯具,适⽤于业务逻辑关系和多种条件组合情况。
判定表的结构条件桩:被测对象的所有输⼊条件项:针对条件桩可能输⼊的真假值动作桩:针对条件桩被测对象可能采取的所有动作动作项:针对动作桩,被测对象响应可能结果取值3、怎么⽤判定表设计测试⽤例?步骤:⼀、列出所有的条件和动作⼆、根据提取出来的条件桩和动作桩,设计判定表确定规则的个数(假如有n个条件,每个条件有2个取值(0、1),就可以产⽣2的n次⽅种规则)三、填写判定表四、简化判定表(合并判定表是牺牲测试充分性,混乱业务逻辑为代价。
8条以内的规则不建议合并)五、抽取测试⽤例(简化判定表后,可抽取判定表中的每⼀条规则作为测试⽤例,判定表得到的是测试规则,不是最终的测试⽤例。
规则不能验证功能点正确性,仅验证业务规则的正确性)4、判定表设计测试⽤例的优缺点?优点:判定表充分考虑了输⼊域之间的组合情况,每条规则覆盖了多条输⼊条件,考虑输⼊的约束关系,降低了漏测的风险。
同时利⽤判定表可推断出需求规格本⾝的逻辑性,反向证明了需求的正确。
缺点:当输⼊项过多时,规则数以2的n次⽅剧增,判定表会⾮常庞⼤,采⽤判定表合并时会造成逻辑缺失,业务混乱错误的情况。
5、判断表设计测试⽤例的例⼦⽰列⼀:停机或⽋费不允许主被叫步骤⼀:列出所有的条件和动作条件:停机/⽋费动作:主被叫步骤⼆:确定规则数有3个条件,每个条件有2个取值,故有8个规则步骤三:填写判定表步骤四:只有4条规则不合并,8条以下的规则不建议合并步骤五:规则抽取:(1)⽤户不停机不⽋费,可进⾏主被叫(2)⽤户不停机⽋费,不允许主被叫(3)⽤户停机不⽋费,不允许主被叫(4)⽤户停机⽋费,不允许住被叫。
判定树判定表举例

根
条件
条件
条件
条件
行动
行动
行动
行动
……
条件
条件
条件
条件
发货方案
欠款时间≤30
欠款时间>100
需求量≤库存量
立即发货
先按库存发,进后再补发
条件
状态
动作
欠款时间>30且≤100
需求量>库存量
需求量≤库存量
先付款,再发货
不发货
需求量>库存量
通知先付欠款
6. 下面是货运收费策略:铁路运费时,若收货地点在本省以内,快件每公斤1.5元,慢件每公斤1元。若收货地点在外省,重量小于或等于20公斤,快件每公斤2元,慢件每公斤1元,若重量大于20公斤,超重部分每公斤0.2元。分别用判定树、判定表和结构化语言。
举例:某仓库发货方案如下: 客户欠款时间不大于30天,如果需要量不大于库存量则立即发货;否则先按库存量发货,进货后再补发。 客户欠款时间不大于100天,如果需要量不大于库存量则先付款再发货;否则不发货。 客户欠款时间大于100天,要求先付欠款。
判定树、判定表
3.判定树 判定树是用一种树图形方式来表示多个条件、多个取值所应采取的动作。
一个游戏 判定表
一个游戏 判定表
1
2
3
4
5
6
7
甲
R
R
R
R
W
W
W
乙
R
R
W
W
R
R
W
丙
R
W
R
W
R
W
R
甲不知
乙不知
丙
判定表
思考题
主持人对甲、乙、丙三人说:“这里有三顶红帽子,两顶白帽子。现在用布蒙上你们的眼睛,给你们每人戴上一顶帽子,然后请你们依次睁开眼睛,能正确说出自己所戴帽子的颜色者有奖。” 带完帽子后,甲拿下布后看了其他两人的帽子说:“我不知道。” 然后,乙解开布看了其他两人的帽子后说:“我不知道。” 轮到丙时,他没有拿下布就正确地说出了自己所戴帽子的颜色。 试问:丙戴的是什么帽子?他是怎样得出结论的?
测试用例设计--判定表

测试⽤例设计--判定表1.定义判定表通常由四部分组成,如上图:条件桩:它列出决定⼀组条件的对象;条件项:它列出各种可能的条件组合;动作桩:它列出所有的操作;动作项:它列出在对应的条件组合下的动作。
2.应⽤的范围在多个条件多个动作,并且每个条件的取值只有两种的情况下,我们就可以采⽤判定表⽅法。
3.步骤 1)识别条件和动作 2)⽣成判定表 3)简化判定表4.案例订购单的检查。
如果⾦额超过500元,⼜未过期,则发出批准单和提货单;如果⾦额超过500元,但过期了,则不发批准单;如果⾦额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。
判定表分析过程 1)识别条件和动作条件桩条件项1:⾦额>500元订购⾦额是否⼤于500元0:⾦额<=500元1:订单未过期订购单是否过期0:订单过期动作桩动作项发出批准单X:表⽰发出批准单发出提货单X:表⽰发出提货单发出通知单X:发出通知单 2)⽣成判定表条件桩条件项订购⾦额是否⼤于500元1100订购单是否过期1010发出批准单X X X发出提货单X X X发出通知单X 3)简化判定表在很多情况下,⼀个判定表写出来以后,是很复杂的,我们需要对其进⾏简化。
如果表中有两条或者多条规则具有相同的动作,并且其条件项之间存在极为相似的关系,我们就可以将其合并。
条件桩条件项订购⾦额是否⼤于500元--10订购单是否过期100发出批准单X X发出提货单X X发出通知单X 这⾥引⼊⼀个概念,规则,以上判定表⾥,右部的每⼀列(条件项和对应的动作项)都是⼀条规则。
以上判定表⾥每⼀条规则都可以转化为测试⽤例。
MIS判定表

旺季7~9、12月份
2
淡季1~6、10、11月份
C2:预定票数
1
>=50张
2
<50张
最终判定表
1
2
3
4
C1:旅游季节
1
1
2
2
C2:预定票数
1
2
1
2
A1:15%
√
A2:5%
√
A3:30%
√
A4:20%
√
量
1
〈=30kg
2
〉30kg
C2:等级
1
头等舱
2
普通舱
C3:国籍
1
√
A5:6元/kg
√
√
A7:3元/kg
√
A8:12元/kg
√
最终判定表:
C1:重量
1
2
2
2
2
2
2
2
2
C2:等级
——
1
1
1
1
2
2
2
2
C3:国籍
——
1
1
2
2
1
1
2
2
C4:身体状况
——
1
2
1
2
1
2
1
2
A1:免费
√
A2:4元/kg
√
√
A3:2元/kg
√
A4:8元/kg
√
A5:6元/kg
√
√
A7:3元/kg
√
1、结构化语言:
IF在旅游旺季7~9、12月份订票
IF订票超过50张
THEN优惠票价15%
ELSE订票50张以下
判定表练习-优先维修的机器

判定表练习:对功率大于50马力的机器且维修记录不全或已运行10年以上的机器,应给予优先的维修处理,利用判定表进行分析,完成用例设计。
条件:
1)功率是否大于50马力
2)维修记录是否齐全
3)运行是否超过10年
动作:
1)进行优先处理
判定表如下:
有两种合并方法:
1)合并1357项、48项
2)合并1357项、68项
但这样合并之后我们看看后三条规则,写出的用例逻辑性会变差,让看的人感觉莫名其妙,比如第二张表的第4条规则,写出用例标题应该是“验证功率不到50马力且运行不超过10年的机器的处理优先级”,这样会给人感觉功率和运行年限之间存在一定的逻辑关系,但其实功率与马力之间才是强逻辑关系,功率与运行年限之间的逻辑关系是比较弱的.所以建议还是不合并为好,不要为了节省几个用例去牺牲整个用例的逻辑性.这道题只把1357列合并就可以了,也就是说对于运行超过10年的机器,不管它的马力和维修记录如何都必须进行优先处理.。
软件工程判定表和判定树题目

软件工程判定表和判定树题目
软件工程判定表和判定树题目可能如下:
1. 判定表题目:
假设在一个软件工程项目中,存在以下情况需要判断:
条件(Condition):是否选择使用数据库作为数据存储方式?动作(Action):如果选择使用数据库,则需进行数据库配置;如果不选择使用数据库,则不需进行数据库配置。
请根据上述情况编写一个判定表,确定是否需要进行数据库
配置。
2. 判定树题目:
假设在一个软件工程项目中,存在以下情况需要判断:
条件(Condition):是否选择使用框架进行开发?
子条件(Sub-Condition):如果选择使用框架,则需考虑使
用的是前端框架还是后端框架?
子子条件(Sub-Sub-Condition):如果选择使用前端框架,
则需考虑使用的是React还是Vue?
动作(Action):如果选择使用React,则使用React进行开发;如果选择使用Vue,则使用Vue进行开发;如果选择不
使用框架,则进行自主开发。
请根据上述情况编写一个判定树,确定最终使用的开发方式
和框架。
项目危大工程全面判定表

3.特殊地质隧道。
4.浅埋、偏压及邻近建筑物等特殊环境条件隧道。
5.IV级及以上软弱围岩地段的大跨度隧道。
6.小净距隧道。
7.瓦斯隧道。
1.采用矿山法、盾构法、顶管法施工的隧道、洞室工程。
2.隧道穿越岩溶发育区、高风险断层、沙层、采空区等工程地质或水文地质条件复杂地质环境;V级围岩连续长度占总隧道长度10%以上且连续长度超过100m;VI级围岩的隧道工程。
3.填方边坡高度≥12米。
4.曾发生过安全事故的高边坡项目。
3
基础工程
1.挡土墙基础。
2.沉井等深水基础。
1.平均高度不小于6m且面积不小于1200m2的砌体挡土墙的基础。
2.水深不小于20m的各类深水基础。
4
大型临时工程
1.围堰工程。
2.挂篮。
3.栈桥、临时码头。
4.水上作业平台。
1.水深不小于10m的围堰工程。
3.软岩地区的高地应力区、膨胀岩、黄土、冻土等地段。
4.埋深小于1倍跨度的浅埋地段;可能产生坍塌或滑坡的偏压地段;隧道上部存在需要保护的建筑物地段;隧道下穿水库或河沟地段。
5.IV级及以上软弱围岩地段跨度不小于18m的特大跨度隧道。
6.连拱隧道;中夹岩柱小于1倍隧道开挖跨度的小净距隧道;长度大于100m的偏压棚洞。
附件3:
XXXXXX项目危大工程全面判定表
序号
类别
危大工程范围
具体类别(填序号)
超过一定规模的危大工程范围
具体类别(填序号)
工程部位
预计周期
开始日期
结束日期
1
基坑工程
1.开挖深度超过3m(含3m)的基坑(槽)的土方开挖、支护、降水工程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<F=500 已T 还清
发不批准通知
发批准通知
发出提货单 发出催款单
条件项 2 2
<F=500 未F 还清
定购金额是否超过 >T500 500?
是否还清欠款? 已T 经还清
>T500 未 F 还清
发不批准通知
X
发批准通知
X
发出提货单
X
发出催款单
<F=500 已 T 还清
X X
<F=500 未F 还清
判定表的设计方式
决策表(Decision Table)
当遇到复杂的条件选择,程序流程图不易表达清楚,而 判定表能清楚的表达复杂的条件组合和任务(结果)之 间的关系。
判定表用表格方式来表示加工逻辑。它为说明条件和操 作间的相互关系提供了一种规范的方法。 判定表由4部分组成:
条件茬
各种可能的判定条件
Condition stub
若定购金额不足500,无论欠帐与否,都发 出批准单和提货单,有欠帐的,发催款单
定购金额是否 超过500?
是否还清欠款?
条件茬
定购金额是否 超过500? 是否还清欠款?
发不批准通知
发批准通知
发出提货单
发出催款单
条件茬 动作茬
定购金额是否 >T500 超过500?
>T500
是否还清欠款? 已T 经还清 未F 还清
X X X
动作项
条件项
各种条件值的组合
Condition entry
动作茬 Action stub
动作项 Action entry
各种可能的动作
在条件项的各种取值的组合下,应采取的 动作,
纵贯条件项、动作项的一列,叫做规则。
条件茬 条有欠帐,发出批
准单和提货单。
若定购金额超过500,但欠帐,发出不予批 准的通知;