判定表法设计测试用例.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
判定表法设计测试用例

3.7 决策表法 3.7.1 决策表 在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。 决策表的概念:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。 决策表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。 在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。 决策表的组成 决策表通常由以下4部分组成: 条件桩—列出问题的所有条件 条件项—针对条件桩给出的条件列出所有可能的取值 动作桩—列出问题规定的可能采取的操作 动作项—指出在条件项的各组取值情况下应采取的动作 决策表的生成 构造决策表的5个步骤: (1) 确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2) 列出所有的条件桩和动作桩。 (3) 填入条件项。 (4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。 若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。 合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。 三角形问题的决策表 3.7.2 决策表应用 NextDate函数的决策表测试用例设计 问题分析:NextDate函数的三个变量之间在输入定义域中存在一定的逻辑依赖关系,由于等价类划分和边界值分析测试都假设了变量是独立的,如果采用上述两种方法设计测试用例,那么这些依赖关系在机械的选取输入值时可能会丢失。而采用决策表法则可以通过使用“不可能动作”的概念表示条件的不可能组合,来强调这种依赖关系。 说明:当决策表规模(指规则的数目,n个条件的决策表有2n个规则)较大时,可以通过扩展条目决策表(条件使用等价类)、代数简化表、将大表“分解”为小表等方法。 NextDate函数 为了获得下一个日期,NextDate函数执行如下操作: 如果输入日期不是当月最后一天,则把day变量的值加1; 如果输入日期是1~11月份中某月的最后一天,则把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; 如果是有28天的月份(非闰年的2月),day变量值为28。 NextDate函数的动作桩和条件桩 根据所执行的操作,可列出NextDate函数的动作桩: a1: 不可能;a2: day加1;a3: day复位;a4: month加1;a5: month复位;a6: year加1 考虑到决策表的规模,条件使用month、day、year变量的等价类,在以下等价类集合上建立决策表: 对于month变量的取值 M1: {mouth: mouth有30天};M2: {mouth:mouth有31天,12月除外}; M3: {mouth:mouth有12月}; M4: {mouth:mouth是2月}; 对于day变量的取值 D1:{day:1≤day≤27};D2: {day:day=28}; D3: {day:day=29}; D4: {day:day=30}; D5: {day:day=31}; 对于year变量的取值 Y1:{year:year是闰年};Y2: {year:year不是闰年} 决策表应用(续) 决策表测试法适用于具有以下特征的应用程序: if-then-else逻辑突出;输入变量之间存在逻辑关系;涉及输入变量子集的计算;输入与输出之间存在因果关系。 适用于使用决策表设计测试用例的条件: 规格说明以决策表形式给出,或较容易转换为决策表。 条件的排列顺序不会也不应影响执行的操作。 规则的排列顺序不会也不应影响执行的操作。 当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。 如果某一规则的条件要执行多个操作,这些操作的执行顺序无关紧要。 3.7.3 决策表测试应用案例 用决策表测试法测试以下程序: 该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。 例如,输入为2004年

文档评论(0)

daoqqzhuan3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档