基于决策表的测试课件_第1页
基于决策表的测试课件_第2页
基于决策表的测试课件_第3页
基于决策表的测试课件_第4页
基于决策表的测试课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、值 n动作项(Action Entity) 列出条件项各种取值下应该采取的动作决策表的组成决策表的组成规则规则n任何一个条件组合的特定取值及其相应要执行的操作称为规则; n在决策表中贯穿条件项和动作项条件项和动作项的一列就是一条规则; n决策表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。规则示例:三角形问题规则示例:三角形问题规则(规则(续续)n规则合并 规则合并就是决策表的简化简化。 有两条或多条规则具有相同的动作相同的动作,并且其条件项之间存在着极为相似的关系相似的关系,就可以将规则合并。(1)两条规则合并成一条)两条规则合并成一条n条件项“”表示与取值无关。n条件项

3、“”在逻辑上包含其它的条件。(2)两条规则的进一步合并)两条规则的进一步合并3. 决策表建立步骤决策表建立步骤n根据软件规格说明 列出所有的条件桩和动作桩; 确定规则的个数; n假如有n个条件,每个条件有两个取值(0,1),则有2n 种规则; 填入条件项; 填入动作项,得到初始决策表; 简化,合并相似规则(相同动作)。例:例:维修机器问题维修机器问题n问题描述: “对于功率大于50马力的机器并且维修记录不全,或已运行10年以上的机器,应给予优先的维修处理” n请建立决策表。例:例:维修机器问题(续)维修机器问题(续)n(1)列出所有的条件桩和动作桩 条件桩 nC1:功率大于50马力吗? nC2

4、:维修记录不全吗? nC3:运行超过10年吗? 动作桩 nA1:进行优先处理 nA2:作其他处理 例:例:维修机器问题(续)维修机器问题(续)n(2)确定规则个数 输入条件个数:3; 每个条件的取值:“是”或“否”; 规则个数:2*2*2 =8; u 功率大于50马力吗 u 维修记录不全吗 u 运行超过10年吗 例:例:维修机器问题(续)维修机器问题(续)12345678条条 件件功率大于50马力吗? YYYYNNNN维修记录不全吗? YYNNYYNN运行超过10年吗? YNYNYNYN动动 作作进行优先处理 作其他处理 n(3)填入条件项;n利用集合的笛卡尔积计算条件项的取值例:例:维修机器

5、问题(续)维修机器问题(续)12345678条条 件件功率大于50马力吗? YYYYNNNN维修记录不全吗? YYNNYYNN运行超过10年吗? YNYNYNYN动动 作作进行优先处理 作其他处理 n(4)填入动作项;n1,2合并,5,7合并,6,8合并例:例:维修机器问题(续)维修机器问题(续)n(5)化简;(1)(2)(3)(4)(5)条条 件件功率大于50马力吗? YYYNN维修记录不全吗? YNN 运行超过10年吗? YNYN动动 作作进行优先处理 作其他处理 基于决策表的测试基于决策表的测试n根据输入输出绘制决策表; n设计测试用例覆盖决策表中每条规则;7.2 案例:三角形问题案例:

6、三角形问题n问题描述 输入三个正整数a、b、c,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。 n请用基于决策表的方法设计测试用例。 n n(1)条件桩 C1:a,b,c构成三角形? C2:a = b? C3:a = c? C4:b = c? n(2)规则数 共有四个条件,每个条件的取值为“是”或“否”,因此有24= 16条规则。 一、设计决策表一、设计决策表n(3)动作桩 n A1:非三角形; A2:不等边三角形; A3:等腰三角形; A4:等边三角形; A5:不可能;n(4)决策表123456789条条

7、 件件a, b, c构成三角形NYYYYYYYYa = b? YYYYNNNNa = c? YYNNYYNNb = c? YNYNYNYN动动 作作非三角形 不等边三角形 等腰三角形 等边三角形 不可能 n注意:注意: 条件的选择可以大大扩展决策表的规模; n例如 a, b, c构成三角形吗?可以扩展为三个条件: a b + c? b a + c? c a + b? 条件桩修改后的决策表条件桩修改后的决策表a=b, a=c, bc二、设计测试用例二、设计测试用例7.3 案例:案例: NextDate函数函数n问题描述 程序有三个输入变量month、day、year,并且满足:1month12、

8、1day31、1900 year 2050。它们分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。 n 第一次尝试nM1=月份:每月有30天 nM2=月份:每月有31天 nM3=月份:此月是2月 nD1=日期:1日期28 nD2=日期:日期=29 nD3=日期:日期=30 nD4=日期:日期=31 nY1=年:年是闰年 nY2=年:年是平年有有256256条规则的第一次尝试条规则的第一次尝试u年变量对应的等价类收缩为表中的一个条件第二次尝试(重点考虑闰年)第二次尝试(重点考虑闰年)nM1

9、=月份:每月有30天 nM2=月份:每月有31天 nM3=月份:此月是2月 nD1=日期:1日期28 nD2=日期:日期=29 nD3=日期:日期=30 nD4=日期:日期=31 nY1=年:年=2000 nY2=年:年是平年 nY3=年:年是闰年第三次尝试(关注日期和月份)第三次尝试(关注日期和月份)nM1=月份:每月有30天 nM2=月份:每月有31天,12月除外 nM3=月份:此月是12月 nM4=月份:此月是2月 nD1=日期:1日期 27 nD2=日期:日期=28 nD3=日期:日期=29 nD4=日期:日期=30 nD5=日期:日期=31 nY1=年:年是闰年 nY2=年:年不是闰

10、年NextDate函数的决策表每月每月30天天每月每月31天天,12月除外月除外续续 此月是此月是12月月此月是此月是2月月此年是闰年此年是闰年NextDate函数的精简决策表续续 NextDate函数的测试用例指导方针和观察指导方针和观察n决策表技术适用的应用程序的特征: if-then-else逻辑很突出 输入变量之间存在逻辑关系 涉及输入变量子集的计算 输入与输出之间存在因果关系 很高的McCabe圈复杂度 n决策表的优点 能把复杂的问题按各种可能的情况一一列举出来 简明而易于理解 可避免遗漏 n n决策表的缺点 不能表达重复执行的动作,例如循环结构 决策表不能很好地伸缩 n有n个条件的决策表有2n 个规则。 n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论