第4章-黑盒测试--第3节-基于判定表的测试_第1页
第4章-黑盒测试--第3节-基于判定表的测试_第2页
第4章-黑盒测试--第3节-基于判定表的测试_第3页
第4章-黑盒测试--第3节-基于判定表的测试_第4页
第4章-黑盒测试--第3节-基于判定表的测试_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、第4章 黑 盒 测 试,第4章 黑 盒 测 试,4.1 边界值测试 4.2 等价类测试 4.3 基于判定表的测试 4.4 因果图 4.5 其他黑盒测试方法 4.6 综合案例 4.7 本章小结,问题引入,例: 某个软件需求文档中有这样的说明:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。 边界值测试 等价类测试,问题引入,在一些数据处理问题中,某些操作是否实施依赖于多个逻辑条件的取值。在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操作。 判定表能够将复杂的问题按照各种可能的情况全

2、部列举出来,简明并避免遗漏。,4.3 基于判定表的测试,判定表的组成 基于判定表的测试 案例:考生录取、隔一日问题,4.3.1 判定表,判定表的原理 判定表的组成 规则,1. 判定表的原理,判定表 判定表(Decision Table),又叫决策表 判定表是分析和表达多逻辑条件下执行不同操作的工具。 在程序设计发展的初期,判定表被当作编写程序的辅助工具。,2. 判定表的组成,条件桩(Condition Stub) 列出问题的所有条件 动作桩(Action Stub) 列出可能采取的操作 条件项(Condition Entity) 列出条件桩的取值 动作项(Action Entity) 列出条件

3、项各种取值下应该采取的动作,判定表的组成,3.规则,任何一个条件组合的特定取值及其相应要执行的操作称为规则; 在判定表中贯穿条件项和动作项的一列就是一条规则; 判定表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。,规则示例:,规则示例:三角形问题,3.规则(续),规则合并 规则合并就是判定表的简化。 有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,就可以将规则合并。,(1)两条规则合并成一条,条件项“”表示与取值无关。,条件项“”在逻辑上包含其它的条件。,(2)两条规则的进一步合并,4.3.2 基于判定表的测试,使用判定表标识测试用例: 把条件解释为程

4、序的输入, 把动作解释为输出。 在测试时,有时条件最终引用输入的等价类,动作引用被测程序的主要功能处理,这时规则就解释为测试用例。 根据软件规格说明建立判定表。,判定表建立步骤,根据软件规格说明 列出所有的条件桩和动作桩; 确定规则的个数; 假如有n个条件,每个条件有两个取值(0,1),则有2n 种规则; 填入条件项; 填入动作项,得到初始决策表; 简化,合并相似规则(相同动作)。,例:维修机器问题,问题描述: “对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器,应给予优先的维修处理” 请建立决策表。,例:维修机器问题(续),(1)列出所有的条件桩和动作桩 条件桩 C1:功

5、率大于50马力吗? C2:维修记录不全吗? C3:运行超过10年吗? 动作桩 A1:进行优先处理 A2:作其他处理,例:维修机器问题(续),(2)确定规则个数 输入条件个数:3; 每个条件的取值:“是”或“否”; 规则个数:2*2*2 =8;,功率大于50马力吗 维修记录不全吗 运行超过10年吗,例:维修机器问题(续),(3)填入条件项;,利用集合的笛卡尔积计算条件项的取值,例:维修机器问题(续),(4)填入动作项;,1,2合并,5,7合并,6,8合并,例:维修机器问题(续),(5)化简;,4.3.2 基于判定表的测试,根据输入输出绘制判定表; 设计测试用例覆盖判定表中每条规则。,4.3.3

6、基于判定表的测试指导方针,判定表技术适用的应用程序的特征: if-then-else逻辑很突出 输入变量之间存在逻辑关系 涉及输入变量子集的计算 输入与输出之间存在因果关系 很高的McCabe圈复杂度,判定表的优点 能把复杂的问题按各种可能的情况一一列举出来 简明而易于理解 可避免遗漏,判定表的缺点 不能表达重复执行的动作,例如循环结构 判定表不能很好地伸缩 有n个条件的决策表有2n 个规则。 解决方法 使用扩展条目判定表、代数简化表,将大表“分解”为小表,查找条件项的判定表式,4.3.3 基于判定表的测试指导方针,适合使用判定表设计测试用例的条件:(1) 规格说明以判定表形式给出,或很容易转

7、换成判定表。(2) 条件的排列顺序不会也不影响执行哪些操作。 (3) 规则的排列顺序不会也不影响执行哪些操作。(4) 每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。(5) 如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。,4.3.4 案例:考生录取,问题描述 某程序规定:“对总成绩大于450分,且各科成绩均高于85分或者是优秀毕业生,应优先录取,其余情况作其他处理。” 请用基于判定表的方法设计测试用例。,(1)列出所有的条件桩和动作桩 条件桩 总成绩大于450分吗? 各科成绩均高于85分吗? 是优秀毕业生吗? 动作桩: 优先录取 作其他处理,一、设计判定表

8、,(2)确定规则的个数 输入有三个条件,每个条件的取值为“是”或“否”,因此有222=8种规则。,(3)填入条件项 将各个条件取值的集合进行笛卡尔积,得到每一列条件项的取值。 Y,NY,NY,N= ,,(4)填入动作桩和动作顶 根据每一列中各条件的取值得到所要采取的行动,填入动作桩和动作项,便得到初始判定表。,判定表,(5)化简 规则1和规则2的动作项相同: 规则5和规则6可以合并; 规则7和规则8可以合并。,判定表,判定表,二、设计测试用例,二、设计测试用例,4.3.4 案例:隔一日问题,问题描述 程序有三个输入变量month、day、year(month、day和year均为整数值,并且满

9、足条件:1month12和1day31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年12月1日。 请用判定表测试法进行测试。,输入,判定表测试法,提示,month,day,year,M1: month有30天=4,6,9,11; M2: month有31天,12月除外=1,3,5,7,8,10; M3: month是12月; M4: month是2月;,D1:day:1day26; D2: day:day=27; D3: day:day=28; D4: day:day=29; D5: day:

10、day=30; D6: day:day=31;,Y1:year:year是闰年; Y2: year:year不是闰年,(1)条件桩和条件项(等价类),a1:day+2a2:day=1a3:day=2a4:month+1a5:month=1a6:year+1a7:不可能,(2) 列出所有的动作桩,(3) 画出判定表,然后对判定表进行化简。,(3) 画出判定表,然后对判定表进行化简。,(4) 设计测试用例。 为判定表中的每一列设计一个测试用例。,(4) 设计测试用例。 为判定表中的每一列设计一个测试用例。,问题与讨论,4.3.4 案例:三角形问题,问题描述 输入三个正整数a、b、c,分别作为三角形

11、的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)。 请用基于判定表的方法设计测试用例。,(1)条件桩 C1:a,b,c构成三角形? C2: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,二、设计测试用例,作业: 教材75页:3题、 8题、 9题,9. 某软件的一个模块的需求规格说明书中描述:,(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。 (2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。 请绘制出判定表,并设计相应的测试用例。,

温馨提示

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

评论

0/150

提交评论