基于决策表的测试课件.ppt

上传人:F****n 文档编号:96108141 上传时间:2019-08-24 格式:PPT 页数:39 大小:262.50KB
返回 下载 相关 举报
基于决策表的测试课件.ppt_第1页
第1页 / 共39页
基于决策表的测试课件.ppt_第2页
第2页 / 共39页
基于决策表的测试课件.ppt_第3页
第3页 / 共39页
基于决策表的测试课件.ppt_第4页
第4页 / 共39页
基于决策表的测试课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于决策表的测试课件.ppt》由会员分享,可在线阅读,更多相关《基于决策表的测试课件.ppt(39页珍藏版)》请在金锄头文库上搜索。

1、,第7章 基于决策表的测试,决策表 基于决策表的测试 案例:三角形问题,NextDate问题 练习:隔一日问题,7.1 决策表,决策表的原理 决策表的组成 决策表建立的步骤,1. 决策表的原理,决策表 决策表:Decision Table 决策表是分析和表达多逻辑条件下执行不同操作的工具。 在程序设计发展的初期,决策表被当作编写程序的辅助工具。,2. 决策表的组成,条件桩(Condition Stub) 列出问题的所有条件 动作桩(Action Stub) 列出可能采取的操作 条件项(Condition Entity) 列出条件桩的取值 动作项(Action Entity) 列出条件项各种取值

2、下应该采取的动作,决策表的组成,规则,任何一个条件组合的特定取值及其相应要执行的操作称为规则; 在决策表中贯穿条件项和动作项的一列就是一条规则; 决策表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。,规则示例:三角形问题,规则(续),规则合并 规则合并就是决策表的简化。 有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,就可以将规则合并。,(1)两条规则合并成一条,条件项“”表示与取值无关。,条件项“”在逻辑上包含其它的条件。,(2)两条规则的进一步合并,3. 决策表建立步骤,根据软件规格说明 列出所有的条件桩和动作桩; 确定规则的个数; 假如有n个条件

3、,每个条件有两个取值(0,1),则有2n 种规则; 填入条件项; 填入动作项,得到初始决策表; 简化,合并相似规则(相同动作)。,例:维修机器问题,问题描述: “对于功率大于50马力的机器并且维修记录不全,或已运行10年以上的机器,应给予优先的维修处理” 请建立决策表。,例:维修机器问题(续),(1)列出所有的条件桩和动作桩 条件桩 C1:功率大于50马力吗? C2:维修记录不全吗? C3:运行超过10年吗? 动作桩 A1:进行优先处理 A2:作其他处理,例:维修机器问题(续),(2)确定规则个数 输入条件个数:3; 每个条件的取值:“是”或“否”; 规则个数:2*2*2 =8;,功率大于50

4、马力吗 维修记录不全吗 运行超过10年吗,例:维修机器问题(续),(3)填入条件项;,利用集合的笛卡尔积计算条件项的取值,例:维修机器问题(续),(4)填入动作项;,1,2合并,5,7合并,6,8合并,例:维修机器问题(续),(5)化简;,基于决策表的测试,根据输入输出绘制决策表; 设计测试用例覆盖决策表中每条规则;,7.2 案例:三角形问题,问题描述 输入三个正整数a、b、c,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。 请用基于决策表的方法设计测试用例。,(1)条件桩 C1:a,b,c构成三角形? C

5、2:a = b? C3:a = c? C4:b = c? (2)规则数 共有四个条件,每个条件的取值为“是”或“否”,因此有24= 16条规则。,一、设计决策表,(3)动作桩 A1:非三角形; A2:不等边三角形; A3:等腰三角形; A4:等边三角形; A5:不可能;,(4)决策表,注意: 条件的选择可以大大扩展决策表的规模; 例如 a, b, c构成三角形吗?可以扩展为三个条件: a b + c? b a + c? c a + b?,条件桩修改后的决策表,a=b, a=c, bc,二、设计测试用例,7.3 案例: NextDate函数,问题描述 程序有三个输入变量month、day、yea

6、r,并且满足:1month12、1day31、1900 year 2050。它们分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。,第一次尝试,M1=月份:每月有30天 M2=月份:每月有31天 M3=月份:此月是2月 D1=日期:1日期28 D2=日期:日期=29 D3=日期:日期=30 D4=日期:日期=31 Y1=年:年是闰年 Y2=年:年是平年,有256条规则的第一次尝试,年变量对应的等价类收缩为表中的一个条件,第二次尝试(重点考虑闰年),M1=月份:每月有30天 M2=月份:每

7、月有31天 M3=月份:此月是2月 D1=日期:1日期28 D2=日期:日期=29 D3=日期:日期=30 D4=日期:日期=31 Y1=年:年=2000 Y2=年:年是平年 Y3=年:年是闰年,第三次尝试(关注日期和月份),M1=月份:每月有30天 M2=月份:每月有31天,12月除外 M3=月份:此月是12月 M4=月份:此月是2月 D1=日期:1日期 27 D2=日期:日期=28 D3=日期:日期=29 D4=日期:日期=30 D5=日期:日期=31 Y1=年:年是闰年 Y2=年:年不是闰年,NextDate函数的决策表,每月30天,每月31天,12月除外,续,此月是12月,此月是2月,

8、此年是闰年,NextDate函数的精简决策表,续,NextDate函数的测试用例,指导方针和观察,决策表技术适用的应用程序的特征: if-then-else逻辑很突出 输入变量之间存在逻辑关系 涉及输入变量子集的计算 输入与输出之间存在因果关系 很高的McCabe圈复杂度,决策表的优点 能把复杂的问题按各种可能的情况一一列举出来 简明而易于理解 可避免遗漏,决策表的缺点 不能表达重复执行的动作,例如循环结构 决策表不能很好地伸缩 有n个条件的决策表有2n 个规则。 解决方法 使用扩展条目决策表、代数简化表,将大表“分解”为小表,查找条件项的重复,课堂练习,隔一天的日期 程序有三个输入变量month、day、year,分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004年11月29日,则该程序的输出为2004年12月1日。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号