Ch3-软件测试方法3.4.pptxVIP

  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.4 基于逻辑覆盖的方法;逻辑覆盖 vs. 路径覆盖;3.4.0 语句覆盖;程序源代码: 1. dim a, b as integer dim c as double if (a 0 and b 0) then c = c / a end if if (a 1 or c 1) then c = c + 1 end if c = b + c;程序源代码: 1. dim a, b as integer dim c as double if (a 0 or b 0) then c = c / a end if if (a 1 or c 1) then c = c + 1 end if c = b + c;优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式 缺点:语句覆盖常是“最弱的覆盖”,不考虑各种分支的组合,不能发现其中的逻辑错误。 假如只要求达到语句覆盖,那么换来的确实测试效果不明显,很难更多地发现代码中的问题。;3.4.1 判定覆盖;示例;判定覆盖的优缺点;3.4.2 条件覆盖;示例;测试用例;优点:增加了对条件判定情况的测试。 缺点:条件覆盖不一定包含判定覆盖。 例如,上面设计的用例就没有覆盖判断M的T分支和判断N的F分支。条件覆盖只能保证每个条件至少有一次为真或假,而不考虑所有的判定结果。 ;3.4.3 判定-条件覆盖;判定—条件覆盖;示例;判定-条件覆盖的优缺点;3.4.4 条件组合覆盖;示例;示例;条件组合覆盖的优缺点;3.4.5 基本路径覆盖;示例;路径覆盖的优缺点; 从前面的例子我们可以看到,采用任何一种覆盖方法都不能满足我们的要求,所以,在实际的测试用例设计过程中,可以根据需要将不同的覆盖方法组合起来使用,以实现最佳的测试用例设计 。;测试用例;基本路径覆盖;基本路径覆盖;基本路径覆盖法的步骤;控制流图;31;控制流图的画法; 如果判断中的条件表达式是由一个或多个逻辑运算符连接的复合条件表达式,则需要改为一系列只有单个条件的嵌套的判断。;环路复杂度;计算环路复杂度的方法;例如,在图示的控制流图中,一组独立的路径是 path1:1 - 11 path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11 path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 - 11 path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11;void Sort ( int iRecordNum, int iType ) 1 { 2 int x=0; 3 int y=0; 4 while ( iRecordNum-- 0 ) 5 { 6 If ( iType==0 ) 7 x=y+2; 8 else 9 If ( iType==1 ) 10 x=y+10; 11 else 12 x=y+20; 13 } 14 };(1)画出控制流图: (2)计算环路复杂度: 10(条边)- 8(个节点)+ 2 = 4 (3)导出独立路径(用语句编号表示) 路径1:4→14 路径2:4→6→7→13 →4→14 路径3:4→6→9→10→13→4→14 路径4:4→6→9→12→13→4→14;;习题1;41;42; 下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到交换两数组元素内容的操作Swap( ): ? ? ? void SelectSort ( datalist list ) { ? ? ? //对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。 ? ? ? ? for ( int i = 0; i list.n-1; i++ ) { ? ? ? ? ? ? ? int k = i; ? ? //在list中找具有最小关键码的对象 ? ? ? ? ? ? ? for ( int j = i+1; j list.n; j++) ? ? ? ? ? ? ? ? if ( list.V[j] list.V[k] ) k = j; ? ? ? //当前具最小关键码的对象 ? ? ? ? ? ? ? if ( k != i ) Swap ( list.V[i], list.V[k] ); ? ?//交换 ? ? ? } };;补充一:循环测试;补充一:循环测试;补

文档评论(0)

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

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

1亿VIP精品文档

相关文档