收藏 分享(赏)

第02章-判定表法.ppt

上传人:weiwoduzun 文档编号:4193105 上传时间:2018-12-14 格式:PPT 页数:52 大小:5.01MB
下载 相关 举报
第02章-判定表法.ppt_第1页
第1页 / 共52页
第02章-判定表法.ppt_第2页
第2页 / 共52页
第02章-判定表法.ppt_第3页
第3页 / 共52页
第02章-判定表法.ppt_第4页
第4页 / 共52页
第02章-判定表法.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、黑盒测试技术 判定表法,教学要求,判定表法适用于哪些情况?什么是判定表、判定表法?判定表的组成、简化与类型建立判定表的步骤 ,在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了。它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,在一些数据处理问题当中,若某些操作的实施依赖于多个逻辑条件的组合,即针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。,引入,等价类划分法和边界值分析方法比较适合输入变量或输入条件相互独立的情况,但是当输入变量或输入条件相互依赖、相互制约的时候,采用等价类划

2、分法和边界值分析方法是难以描述的,测试效果也很难保障。例如:有多少种优惠方案?,引入,什么是判定表驱动法?,判定表驱动法(或决策表法) 是根据需求描述建立判定表后,导出测试用例的方法。,在所有的黑盒测试方法中,基于判定表的测试是最为严格、最具有逻辑性的测试方法 可以设计出完整的测试用例集合,什么是判定表?,判定表(也称决策表)是一个用来表示条件和行动的二维表,是分析和表达多逻辑条件下执行不同操作的情况的工具。,可以清晰的表达条件、决策规则和应采取的行动之间的逻辑关系。 判定表很适合描述不同条件集合下采取行动的若干组合的情况。,实例“阅读指南”判定表,判定表的组成,条件桩列出问题的所有条件。 条

3、件项针对条件桩给出的条件,列出所有可能的取值。 动作桩列出问题规定的可能采取的操作。 动作项指出在条件项的各组取值情况下应采取的动作。,将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。 在判定表中贯穿条件项和动作项的一列就是一条规则。,判定表的组成,条件桩 Condition Stub 条件项 Condition Entity 动作桩 Action Stub 动作项 Action Entity 规 则 Rule,判定表的类型,有限条目判定表特点:所有条件都是二值条件(真/假),判定表,扩展条目判定表特点: 条件可以有多个值,举例有限条目判定表,等价类 M1=航线为国外欧美航线 M2

4、=航线为国外非欧美航线 M3=航线为国内航线 D1=仓位为商务仓 D2=仓位为经济仓 Y1=飞行时间小于2h Y2=飞行时间大于等于2h,动作桩: A1:播放电影 A2:食物供应,条件桩: C1:航线在M1,M2,M3中之一 C2:仓位在D1,D2中之一 C3:飞行时间在Y1,Y2中之一,举例扩展条目判定表,举例扩展条目判定表,判定表的简化,实际使用决策表时,常常先将它简化,简化是以合并相似规则为目标的。 判定表的简化主要包含:规则合并与规则包含 (1)规则合并若两条或多条规则的动作项相同,条件项只有一项不同,则可将该项合并,合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称

5、为无关条件。 (2)规则包含 无关条件项“-”在逻辑上又可包含其他的条件项取值, 具有相同动作的规则还可进一步合并。,图a 两条规则合并成一条 图b 两条规则的进一步合并,判定表的简化,如图a表示了两个柜子的动作项一致,条件项中的第三条件的取值不同,这表示在第一、第二条件分别取真值和假值时,第三条件不论取何值,都执行同一动作。就是说要执行的动作与第三条件的取值无关。这样,我们将这两条规则合并,合并后的第三条件取值用“”表示,以示与取值无关。类似地,无关条件项“”在逻辑上又可包含其他的条件项取值,具有相同动作的规则还可进一步合并,如图b所示。,规则合并实例“阅读指南”,规则合并实例“阅读指南”,

6、规则合并实例“阅读指南”,生成测试用例“阅读指南”,判定表的建立步骤 ,使用判定表设计用例的条件,规格说明以判定表的形式给出,或很容易转换成判定表 条件的排列顺序不影响执行哪些操作 规则的排列顺序不影响执行哪些操作 当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则? 如果某一规则要执行多个操作,这些操作的执行顺序无关紧要,案例1三角形问题,对于三角问题,设计其判定表,然后根据该判定表设计相应的测试用例。,关键:如何得到三角问题的“条件桩”和“行动桩” ?,我们可以通过分析三角问题的处理过程(即“业务逻辑”)得到: 当判断出a=b=c时,程序输出“等边三角形”。 当判断出a=b或

7、b=c或a=c时,程序输出“等腰三角形”。 当a!=b且b != c且c !=a时,程序输出“一般三角形”,可以看出程序的输出由a,b,c之间是否相等的关系确定,即a=b?, a=c?, b=c?,这样我们可以把a=b?, a=c?, b=c?当作条件桩,把程序的输出当作动作桩。,三角形问题的判定表,(1)对每一条规则设计一个测试用例:,根据判定表设计测试用例,(2)去掉不存在的情况:,根据判定表设计测试用例,案例2NextDate问题,对于NextDate问题,设计其判定表,然后根据该判定表设计相应的测试用例。,如何得到NextDate问题的“条件桩”和“行动桩” ?,我们可以通过分析Nex

8、tDate问题的处理过程(即“业务逻辑”)得到:见下页,为了获得下一个日期,NextDate函数执行如下操作: 如果输入日期不是当月最后一天,则把day变量的值加1; 如果输入日期是111月份中某月的最后一天,则把day变量的值复位为1,month变量的值加1; 如果输入日期是12月的最后一天,则day变量和month变量的值都复位为1,year变量的值加1。 关于最后一天的判断: 如果是有31天的月份(1,3,5,7,8,10,12),day=31为最后一天; 如果是有30天的月份(4,6,9,11), day=30为最后一天; 如果是有29天的月份(闰年的2月), day=29为最后一天;

9、 如果是有28天的月份(非闰年的2月), day=28为最后一天。,可见程序的动作主要是d,m,y的加1或复位,而这些操作又与d,m,y的特征有关。这样我们可以把d,m,y的加1或复位作为动作桩, d,m,y的特征作为条件桩。,条件桩: C1:月份在M1中 C2:月份在M2中 C3:月份在M3中 C4:月份在M3中 C5:日期在D1中 C6:日期在D2中 C7:日期在D3中 C8:日期在D4中 C9:日期在D4中 C10:年是闰年 C11:年是平年,动作桩: A1:不可能 A2:日期增1 A3:日期复位(置1) A4:月份增1 A5:月份复位(置1) A6:年增1,等价类 M1=月份:每月有3

10、0天 M2=月份:每月有31天,12月除外 M3=月份:此月是12月 M4=月份:此月是2月 D1=日期:1=日期=27 D2=日期:日期=28 D3=日期:日期=29 D4=日期:日期=30 D5=日期:日期=31 Y1=年:年是闰年 Y2=年:年是平年,等价类 M1=月份:每月有30天 M2=月份:每月有31天,12月除外 M3=月份:此月是12月 M4=月份:此月是2月 D1=日期:1=日期=27 D2=日期:日期=28 D3=日期:日期=29 D4=日期:日期=30 D5=日期:日期=31 Y1=年:年是闰年 Y2=年:年是平年,动作桩: A1:不可能 A2:日期增1 A3:日期复位(

11、置1) A4:月份增1 A5:月份复位(置1) A6:年增1,条件桩: C1:月份在M1,M2,M3,M4中之一 C2:日期在D1,D2,D3,D4 ,D5中之一 C3:年在Y1,Y2中之一,续表,课堂练习一,根据判定表,请写出NextDate函数的前9个测试用例:,根据判定表设计测试用例,课堂练习二,假设一个中国的航空公司规定: 中国去欧美的航线所有座位都有食物供应,每个座位都可以播放电影。 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。 中国国内的航班的商务仓有食物供应,但是不可以播放电影 中国国内的航班的经济仓除非飞行时间大于2小时就有食物供应,但是不可以播放电影。 请用判

12、定表法设计测试用例。,条件桩: C1:航线为国外欧美航线 C2:航线为国外非欧美航线 C3:航线为国内航线 C4:仓位为商务仓 C5:仓位为经济仓 C6:飞行时间小于2h C7:飞行时间大于等于2h,动作桩: A1:播放电影 A2:食物供应,等价类 M1=航线为国外欧美航线 M2=航线为国外非欧美航线 M3=航线为国内航线 D1=仓位为商务仓 D2=仓位为经济仓 Y1=飞行时间小于2h Y2=飞行时间大于等于2h,动作桩: A1:播放电影 A2:食物供应,条件桩: C1:航线在M1,M2,M3中之一 C2:仓位在D1,D2中之一 C3:飞行时间在Y1,Y2中之一, 判定表法的那点事儿,1、判定表技术适用于具有以下特征的应用程序:If-then-else逻辑很突出。条件和规则的顺序不影响执行哪些操作。输入变量之间存在逻辑关系。输入与输出之间存在因果关系。 2、如果使用有限条目判定表规则比较多时,可以转化为扩展条目判定表。 3、判定表的设计可能需要多次迭代才能得到满意的判定表,练习,问题:请问有多少种优惠方案? 提示:有多少种优惠方案,判定表就有多少个规则。,小结,判定表法适用于哪些情况?什么是判定表、判定表法?判定表的组成、类型 如何简化判定表?如何建立判定表? ,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 统计图表

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报