




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章基于决策表的测试决策表基于决策表的测试案例:三角形问题,NextDate问题练习:隔一日问题第7章基于决策表的测试决策表7.1决策表决策表的原理决策表的组成决策表建立的步骤7.1决策表决策表的原理1.决策表的原理决策表决策表:DecisionTable决策表是分析和表达多逻辑条件下执行不同操作的工具。在程序设计发展的初期,决策表被当作编写程序的辅助工具。1.决策表的原理决策表2.决策表的组成条件桩(ConditionStub)列出问题的所有条件动作桩(ActionStub)列出可能采取的操作条件项(ConditionEntity)列出条件桩的取值动作项(ActionEntity)列出条件项各种取值下应该采取的动作2.决策表的组成条件桩(ConditionStub)决策表的组成决策表的组成规则任何一个条件组合的特定取值及其相应要执行的操作称为规则;在决策表中贯穿条件项和动作项的一列就是一条规则;决策表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。规则任何一个条件组合的特定取值及其相应要执行的操作称为规则;规则示例:三角形问题规则示例:三角形问题规则(续)规则合并规则合并就是决策表的简化。有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,就可以将规则合并。规则(续)规则合并(1)两条规则合并成一条条件项“—”表示与取值无关。(1)两条规则合并成一条条件项“—”表示与取值无关。条件项“—”在逻辑上包含其它的条件。(2)两条规则的进一步合并条件项“—”在逻辑上包含其它的条件。(2)两条规则的进一步合3.决策表建立步骤根据软件规格说明①列出所有的条件桩和动作桩;
②确定规则的个数;假如有n个条件,每个条件有两个取值(0,1),则有2n
种规则;
③填入条件项;④填入动作项,得到初始决策表;⑤简化,合并相似规则(相同动作)。3.决策表建立步骤根据软件规格说明例:维修机器问题问题描述:“……对于功率大于50马力的机器并且维修记录不全,或已运行10年以上的机器,应给予优先的维修处理……”
请建立决策表。例:维修机器问题问题描述:例:维修机器问题(续)(1)列出所有的条件桩和动作桩条件桩C1:功率大于50马力吗?C2:维修记录不全吗?C3:运行超过10年吗?动作桩A1:进行优先处理A2:作其他处理
例:维修机器问题(续)(1)列出所有的条件桩和动作桩例:维修机器问题(续)(2)确定规则个数输入条件个数:3;每个条件的取值:“是”或“否”;规则个数:2*2*2=8;
功率大于50马力吗维修记录不全吗运行超过10年吗
例:维修机器问题(续)(2)确定规则个数功率大于50马力例:维修机器问题(续)12345678条件功率大于50马力吗?YYYYNNNN维修记录不全吗?YYNNYYNN运行超过10年吗?YNYNYNYN动作进行优先处理作其他处理(3)填入条件项;利用集合的笛卡尔积计算条件项的取值例:维修机器问题(续)12345678条功率大于50马力吗例:维修机器问题(续)12345678条件功率大于50马力吗?YYYYNNNN维修记录不全吗?YYNNYYNN运行超过10年吗?YNYNYNYN动作进行优先处理
作其他处理
(4)填入动作项;1,2合并,5,7合并,6,8合并例:维修机器问题(续)12345678条功率大于50马力吗例:维修机器问题(续)(5)化简;(1)(2)(3)(4)(5)条
件功率大于50马力吗?YYYNN维修记录不全吗?YNN——运行超过10年吗?—YNYN动
作进行优先处理
作其他处理
例:维修机器问题(续)(5)化简;(1)(2)(3)(4)(基于决策表的测试根据输入输出绘制决策表;设计测试用例覆盖决策表中每条规则;基于决策表的测试根据输入输出绘制决策表;7.2案例:三角形问题问题描述
输入三个正整数a、b、c,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。请用基于决策表的方法设计测试用例。
7.2案例:三角形问题问题描述(1)条件桩C1:a,b,c构成三角形?C2:a=b?C3:a=c?C4:b=c?(2)规则数共有四个条件,每个条件的取值为“是”或“否”,因此有24=16条规则。
一、设计决策表(1)条件桩一、设计决策表(3)动作桩
A1:非三角形;
A2:不等边三角形;
A3:等腰三角形;
A4:等边三角形;
A5:不可能;(3)动作桩(4)决策表123456789条
件a,b,c构成三角形NYYYYYYYYa=b?—YYYYNNNNa=c?—YYNNYYNNb=c?—YNYNYNYN动
作非三角形
不等边三角形
等腰三角形
等边三角形
不可能
(4)决策表123456789条a,b,c构成三角形N注意:条件的选择可以大大扩展决策表的规模;例如a,b,c构成三角形吗?可以扩展为三个条件:a<b+c?b<a+c?c<a+b?
注意:条件桩修改后的决策表条件桩修改后的决策表a=b,a=c,b≠c二、设计测试用例a=b,二、设计测试用例7.3案例:
NextDate函数问题描述
程序有三个输入变量month、day、year,并且满足:1≤month≤12、1≤day≤31、1900≤year≤2050。它们分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。
7.3案例:NextDate函数问题描述第一次尝试M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1≤日期≤28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年是闰年}Y2={年:年是平年}第一次尝试M1={月份:每月有30天}有256条规则的第一次尝试年变量对应的等价类收缩为表中的一个条件有256条规则的第一次尝试年变量对应的等价类收缩为表中的一个第二次尝试(重点考虑闰年)M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1≤日期≤28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年=2000}Y2={年:年是平年}Y3={年:年是闰年}第二次尝试(重点考虑闰年)M1={月份:每月有30天}第三次尝试(关注日期和月份)M1={月份:每月有30天}
M2={月份:每月有31天,12月除外}M3={月份:此月是12月}M4={月份:此月是2月}
D1={日期:1≤日期≤
27}D2={日期:日期=28}D3={日期:日期=29}D4={日期:日期=30}D5={日期:日期=31}Y1={年:年是闰年}Y2={年:年不是闰年}第三次尝试(关注日期和月份)M1={月份:每月有30天}NextDate函数的决策表每月30天每月31天,12月除外NextDate函数的决策表每月30天每月31天,12月除外续……
此月是12月此月是2月此年是闰年续……此月是12月此月是2月此年是闰年NextDate函数的精简决策表NextDate函数的精简决策表续……
续……NextDate函数的测试用例NextDate函数的测试用例指导方针和观察决策表技术适用的应用程序的特征:if-then-else逻辑很突出输入变量之间存在逻辑关系涉及输入变量子集的计算输入与输出之间存在因果关系很高的McCabe圈复杂度指导方针和观察决策表技术适用的应用程序的特征:决策表的优点能把复杂的问题按各种可能的情况一一列举出来简明而易于理解可避免遗漏
决策表的优点决策表的缺点不能表达重复执行的动作,例如循环结构决策表不能很好地伸缩有n个条件的决策表有2n
个规则。解决方法使用扩展条目决策表、代数简化表,将大表“分解”为小表,查找条件项的重复决策表的缺点课堂练习隔一天的日期程序有三个输入变量month、day、year,分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004年11月29日,则该程序的输出为2004年12月1日。课堂练习隔一天的日期第7章基于决策表的测试决策表基于决策表的测试案例:三角形问题,NextDate问题练习:隔一日问题第7章基于决策表的测试决策表7.1决策表决策表的原理决策表的组成决策表建立的步骤7.1决策表决策表的原理1.决策表的原理决策表决策表:DecisionTable决策表是分析和表达多逻辑条件下执行不同操作的工具。在程序设计发展的初期,决策表被当作编写程序的辅助工具。1.决策表的原理决策表2.决策表的组成条件桩(ConditionStub)列出问题的所有条件动作桩(ActionStub)列出可能采取的操作条件项(ConditionEntity)列出条件桩的取值动作项(ActionEntity)列出条件项各种取值下应该采取的动作2.决策表的组成条件桩(ConditionStub)决策表的组成决策表的组成规则任何一个条件组合的特定取值及其相应要执行的操作称为规则;在决策表中贯穿条件项和动作项的一列就是一条规则;决策表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。规则任何一个条件组合的特定取值及其相应要执行的操作称为规则;规则示例:三角形问题规则示例:三角形问题规则(续)规则合并规则合并就是决策表的简化。有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,就可以将规则合并。规则(续)规则合并(1)两条规则合并成一条条件项“—”表示与取值无关。(1)两条规则合并成一条条件项“—”表示与取值无关。条件项“—”在逻辑上包含其它的条件。(2)两条规则的进一步合并条件项“—”在逻辑上包含其它的条件。(2)两条规则的进一步合3.决策表建立步骤根据软件规格说明①列出所有的条件桩和动作桩;
②确定规则的个数;假如有n个条件,每个条件有两个取值(0,1),则有2n
种规则;
③填入条件项;④填入动作项,得到初始决策表;⑤简化,合并相似规则(相同动作)。3.决策表建立步骤根据软件规格说明例:维修机器问题问题描述:“……对于功率大于50马力的机器并且维修记录不全,或已运行10年以上的机器,应给予优先的维修处理……”
请建立决策表。例:维修机器问题问题描述:例:维修机器问题(续)(1)列出所有的条件桩和动作桩条件桩C1:功率大于50马力吗?C2:维修记录不全吗?C3:运行超过10年吗?动作桩A1:进行优先处理A2:作其他处理
例:维修机器问题(续)(1)列出所有的条件桩和动作桩例:维修机器问题(续)(2)确定规则个数输入条件个数:3;每个条件的取值:“是”或“否”;规则个数:2*2*2=8;
功率大于50马力吗维修记录不全吗运行超过10年吗
例:维修机器问题(续)(2)确定规则个数功率大于50马力例:维修机器问题(续)12345678条件功率大于50马力吗?YYYYNNNN维修记录不全吗?YYNNYYNN运行超过10年吗?YNYNYNYN动作进行优先处理作其他处理(3)填入条件项;利用集合的笛卡尔积计算条件项的取值例:维修机器问题(续)12345678条功率大于50马力吗例:维修机器问题(续)12345678条件功率大于50马力吗?YYYYNNNN维修记录不全吗?YYNNYYNN运行超过10年吗?YNYNYNYN动作进行优先处理
作其他处理
(4)填入动作项;1,2合并,5,7合并,6,8合并例:维修机器问题(续)12345678条功率大于50马力吗例:维修机器问题(续)(5)化简;(1)(2)(3)(4)(5)条
件功率大于50马力吗?YYYNN维修记录不全吗?YNN——运行超过10年吗?—YNYN动
作进行优先处理
作其他处理
例:维修机器问题(续)(5)化简;(1)(2)(3)(4)(基于决策表的测试根据输入输出绘制决策表;设计测试用例覆盖决策表中每条规则;基于决策表的测试根据输入输出绘制决策表;7.2案例:三角形问题问题描述
输入三个正整数a、b、c,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。请用基于决策表的方法设计测试用例。
7.2案例:三角形问题问题描述(1)条件桩C1:a,b,c构成三角形?C2:a=b?C3:a=c?C4:b=c?(2)规则数共有四个条件,每个条件的取值为“是”或“否”,因此有24=16条规则。
一、设计决策表(1)条件桩一、设计决策表(3)动作桩
A1:非三角形;
A2:不等边三角形;
A3:等腰三角形;
A4:等边三角形;
A5:不可能;(3)动作桩(4)决策表123456789条
件a,b,c构成三角形NYYYYYYYYa=b?—YYYYNNNNa=c?—YYNNYYNNb=c?—YNYNYNYN动
作非三角形
不等边三角形
等腰三角形
等边三角形
不可能
(4)决策表123456789条a,b,c构成三角形N注意:条件的选择可以大大扩展决策表的规模;例如a,b,c构成三角形吗?可以扩展为三个条件:a<b+c?b<a+c?c<a+b?
注意:条件桩修改后的决策表条件桩修改后的决策表a=b,a=c,b≠c二、设计测试用例a=b,二、设计测试用例7.3案例:
NextDate函数问题描述
程序有三个输入变量month、day、year,并且满足:1≤month≤12、1≤day≤31、1900≤year≤2050。它们分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。
7.3案例:NextDate函数问题描述第一次尝试M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1≤日期≤28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年是闰年}Y2={年:年是平年}第一次尝试M1={月份:每月有30天}有256条规则的第一次尝试年变量对应的等价类收缩为表中的一个条件有256条规则的第一次尝试年变量对应的等价类收缩为表中的一个第二次尝试(重点考虑闰年)M1={月份:每月有30天}M2={月份:每月有31天}M3={月份:此月是2月}D1={日期:1≤日期≤28}D2={日期:日期=29}D3={日期:日期=30}D4={日期:日期=31}Y1={年:年=2000}Y2={年:年是平年}Y3={年:年是闰年}第二次尝试(重点考虑闰年)M1={月份:每月有30天}第三次尝试(关注日期和月份)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国影像投影仪行业市场发展分析及竞争格局与投资战略研究报告
- 2024-2025学年人教版二年级数学上册学期计划
- 2025-2030中国工业烘干设备行业市场深度分析及竞争格局与投资前景研究报告
- 2025-2030中国小奶锅行业市场现状供需分析及投资评估规划分析研究报告
- 废弃机油残留物再生沥青及混合料性能演变规律多尺度研究
- 小学四年级节日主题活动计划
- 小学信息技术四年级上册教学计划成果展示
- 《金融常识入门:初中思想品德课程教案》
- 威廉·荷加斯绘画中的戏剧性研究
- 基于文本数据挖掘的残雪作品英译本读者接受研究
- GB/T 5080.1-2012可靠性试验第1部分:试验条件和统计检验原理
- LY/T 1279-2020聚氯乙烯薄膜饰面人造板
- GB/T 5370-2007防污漆样板浅海浸泡试验方法
- GB/T 17215.321-2021电测量设备(交流)特殊要求第21部分:静止式有功电能表(A级、B级、C级、D级和E级)
- 学生自主重修申请表(模板)
- 课件:第二章 社会工作项目申请(《社会工作项目策划与评估》课程)
- 2023年中国检验认证集团福建有限公司招聘笔试题库及答案解析
- 【教学课件】微专题一:探究郑州暴雨事件
- 智慧教育典型案例:之江汇“空间站”:校本研修资源利用的载体创新探索
- (完整版)钢楼梯施工方案
- 装饰装修工程监理细则详解模板
评论
0/150
提交评论