第33章黑盒测试_第1页
第33章黑盒测试_第2页
第33章黑盒测试_第3页
第33章黑盒测试_第4页
第33章黑盒测试_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、3.4 3.4 基于判定表基于判定表( (决策决策) )的测试的测试w问题引入某个软件需求文档中有这样的说明:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑针对不同逻辑条件的组合值,分别执行不同的操作。判定条件的组合值,分别执行不同的操作。判定( (决策决策) )表很适合于处理这类问题。表很适合于处理这类问题。3.4 3.4 基于判定表的测试基于判定表的测试w判定表w基于判定表的测试w案例:三角形问题,Next

2、Date问题w练习:3.4.1 判定表判定表w判定表的原理w判定表的组成w判定表建立的步骤1. 判定表的原理判定表的原理w判定表判定表(Decision TableDecision Table),又叫决策表判定表是分析和表达多逻辑条件下执行不同操作的工具。在程序设计发展的初期,判定表被当作编写程序的辅助工具。规则规则选项选项12345678问问题题觉得疲倦?觉得疲倦? YYYYNNNN感兴趣吗?感兴趣吗? YYNNYYNN糊涂吗?糊涂吗?YNYNYNYN建建议议重读重读继续继续跳下一章跳下一章休息休息“阅读指南阅读指南”决策表决策表2. 判定表的组成判定表的组成w条件桩(Condition S

3、tub)列出问题的所有条件w动作桩(Action Stub)列出可能采取的操作w条件项(Condition Entity)列出条件桩的取值w动作项(Action Entity)列出条件项各种取值下应该采取的动作判定表的组成判定表的组成规则规则w任何一个条件组合的特定取值及其相应要执行的操作称为规则;w在判定表中贯穿条件项和动作项条件项和动作项的一列就是一条规则;w判定表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。12345678问问题题觉得疲倦?觉得疲倦? YYYYNNNN感兴趣吗?感兴趣吗? YYNNYYNN糊涂吗?糊涂吗?YNYNYNYN建建议议重读重读继续继续跳下一

4、章跳下一章休息休息“阅读指南阅读指南”决策表决策表规则(规则(续续)w规则合并规则合并就是判定表的简化简化。有两条或多条规则具有相同的动作相同的动作,并且其条件项之间存在着极为相似的相似的关系关系,就可以将规则合并。(1)两条规则合并成一条)两条规则合并成一条w条件项“”表示与取值无关。w条件项“”在逻辑上包含其它的条件。(2)两条规则的进一步合并)两条规则的进一步合并12345678问问题题觉得疲倦?觉得疲倦? YYYYNNNN感兴趣吗?感兴趣吗? YYNNYYNN糊涂吗?糊涂吗?YNYNYNYN建建议议重读重读继续继续跳下一章跳下一章休息休息“阅读指南阅读指南”决策表决策表12335问问题

5、题觉得疲倦?觉得疲倦?YYNNN感兴趣吗?感兴趣吗?YNYYN糊涂吗?糊涂吗?YN建建议议重读重读继续继续跳下一章跳下一章休息休息合并合的合并合的“读书指南读书指南”判定表判定表3. 判定表建立步骤判定表建立步骤w根据软件规格说明列出所有的条件桩和动作桩;确定规则的个数;假如有n个条件,每个条件有两个取值(0,1),则有2n 种规则; 填入条件项;填入动作项,得到初始决策表;简化,合并相似规则(相同动作)。例:例:维修机器问题维修机器问题w问题描述:“对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器,应给予优先的维修处理”w请建立决策表。例:例:维修机器问题(续)维修机器问

6、题(续)w(1)列出所有的条件桩和动作桩条件桩C1:功率大于50马力吗?C2:维修记录不全吗?C3:运行超过10年吗?动作桩A1:进行优先处理A2:作其他处理例:例:维修机器问题(续)维修机器问题(续)w(2)确定规则个数输入条件个数:3 3;每个条件的取值:“是”或“否”;规则个数:2 2* *2 2* *2 =82 =8;u 功率大于50马力吗u 维修记录不全吗u 运行超过10年吗例:例:维修机器问题(续)维修机器问题(续)12345678条条件件功率大于50马力吗?YYYYNNNN维修记录不全吗?YYNNYYNN运行超过10年吗?YNYNYNYN动动作作进行优先处理作其他处理w(3)填入

7、条件项;w利用集合的笛卡尔积计算条件项的取值例:例:维修机器问题(续)维修机器问题(续)12345678条条件件功率大于50马力吗?YYYYNNN N维修记录不全吗?YYNNYYN N运行超过10年吗?YNYNYNY N动动作作进行优先处理 作其他处理 w(4)填入动作项;w1,2合并,5,7合并,6,8合并例:例:维修机器问题(续)维修机器问题(续)w(5)化简;(1)(2)(3)(4)(5)条条件件功率大于50马力吗?YYYNN维修记录不全吗?YNN运行超过10年吗?YNYN动动作作进行优先处理 作其他处理 3.4.2 基于判定表的测试基于判定表的测试w根据输入输出绘制判定表;w设计测试用

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

9、;w(4)判定表123456789条条件件a, b, c构成三角形NYYYYYYYYa = b?YYYYNNNNa = c?YYNNYYNNb = c?YNYNYNYN动动作作非三角形不等边三角形等腰三角形等边三角形不可能3.4.3 案例案例2: NextDate函数函数w问题描述 程序有三个输入变量month、day、year,并且满足:1month12、1day31、1900 year 2050。它们分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。尝试(关注日期和月份)尝试(关注日

10、期和月份)wM1=月份:每月有30天wM2=月份:每月有31天,12月除外wM3=月份:此月是12月wM4=月份:此月是2月wD1=日期:1日期 27wD2=日期:日期=28wD3=日期:日期=29wD4=日期:日期=30wD5=日期:日期=31wY1=年:年是闰年wY2=年:年不是闰年NextDate函数的判定表每月每月30天天每月每月31天天,12月除外月除外续续此月是此月是12月月此月是此月是2月月此年是闰年此年是闰年NextDate函数的精简判定表续续NextDate函数的测试用例3.4.5判定表的优、缺点判定表的优、缺点w判定表的优点能把复杂的问题按各种可能的情况一一列举出来简明而易于理解可避免遗漏w判定表是从输入条件的完全组合来满足测试的覆盖率要求,具有很严格的逻辑性,所以基于判定表的测试用例方法是最严格的,测试用例具很高的完整性.3.4.5判定表的优、缺点判定表的优、缺点w判定表的缺点不能表达重复执行的动作,例如循环结构判定表不能很好地伸缩有n个条件的决策表有2n 个规则。w解决方法使用扩展条目判定表、代数简化表,将大表“分

温馨提示

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

最新文档

评论

0/150

提交评论