网站大量收购独家精品文档,联系QQ:2885784924

白盒测试及其实例设计.pptVIP

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

第4章 白盒测试及其实例设计 第4章 白盒测试及其实例设计 4.1 逻辑覆盖测试 条件覆盖 条件覆盖(Condition Coverage)是指设计若干个测试用例,执行被测试程序时,程序中每个判断条件中的每个判断式的真值和假值至少被执行一遍。 判断/条件覆盖 判断/条件覆盖是指设计若干个测试用例,执行被测试程序时,程序中每个判断条件的真假值分支至少被执行一遍,并且每个判断条件的内部判断式的真假值分支也要被执行一遍。 测试用例组6: Test Case 1:x=2000, y=600, z=2000 Test Case 6:x=2000, y=200, z=6000 Test Case 7:x=2000, y=600, z=2000 Test Case 8:x=50, y=200, z=2000 条件组合覆盖 条件组合覆盖是指设计若干个测试用例,执行被测试程序时,程序中每个判断条件的的内部判断式的各种真假组合可能都至少被执行一遍。可见,满足条件组合覆盖的测试用例组一定满足判断覆盖、条件覆盖和判断/条件覆盖。 测试用例组7: Test Case 1:x=2000, y=600, z=2000 Test Case 6:x=2000, y=200, z=6000 Test Case 7:x=2000, y=600, z=2000 Test Case 8:x=50, y=200, z=2000 路径覆盖 路径覆盖(Path Coverage)要求设计若干测试用例,执行被测试程序时,能够覆盖程序中所有的可能路径。 测试用例组8: Test Case 1:x=2000,y=600,z=6000 Test Case 3:x=50,y=600,z=2000 Test Case 4:x=2000,y=600,z=2000 Test Case 7:x=2000,y=200,z=1000 应该注意的是,上面6种覆盖测试方法所引用的公共程序只有短短4行,是一段非常简单的示例代码。然而在实际测试程序中,一个简短的程序,其路径数目是一个庞大的数字。要对其实现路径覆盖测试是很难的。所以,路径覆盖测试是相对的,尽可能把路径数压缩到一个可承受范围。 当然,即便对某个简短的程序段做到了路径覆盖测试,也不能保证源代码不存在其他软件问题了。其他的软件测试手段也必要的,它们之间是相辅相成的。没有一个测试方法能够找尽所有软件缺陷,只能说是尽可能多地查找软件缺陷。 4.2 路径分析测试 程序环路复杂性 是一种描述程序逻辑复杂度的标准,该标准运用基本路径方法,给出了程序基本路径集中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。 给定一个控制流图G,设其环形复杂度为V(G),在这里介绍三种常见的计算方法来求解V(G)。 (1) V(G)=E-N+2,其中E是控制流图G中边的数量,N是控制流图中节点的数目。 (2) V(G)=P+1,其中P是控制流图G中判断节点的数目。 (3) V(G)=A,其中A是控制流图G中区域的数目。由边和结点围成的区域叫做区域,当在控制流图中计算区域的数目时,控制流图外的区域也应记为一个区域。 4.2.2 独立路径测试 独立路径测试的步骤包括3个方面: 导出程序控制流图 求出程序环形复杂度 设计测试用例(Test Case) 表4-9 测试用例组9 4.2.3 Z路径覆盖测试 4.3 其他白盒测试方法 4.3.2 变异测试 4.3.3 程序插装 4.4 实例设计 小结 习题 路径4 90 1 0 ‘F’ 4 Test Case 4 路径3 100 0 0 ‘A’ 4 Test Case 3 路径2 100 0 1 ‘T’ 4 Test Case 2 路径1 100 0 0 ‘T’ 5 Test Case 1 score num2 num1 str i 执行路径 期望输出 输入 测试用例 程序4-3: 1 if (a or b) 2 then 3 procedure x 4 else 5 procedure y; 6 … … 对应的控制流图如图4-5所示,程序行1的a,b都是独立的判断节点,还有程序行4也是判断节点,所以共计3个判断节点。图4-5的环形复杂度为V(G)=3+1,其中3是图4-5中判断节点的数目。 图4-5 程序4-3的控制流图 Z路径覆盖是路径覆盖面的一种变体。对于语句较少的简单程序,路径覆盖是具有可行性的。但是对于源代码很多的复杂程序,或者对于含有较多条件语句和较多循环体的程序来说,需要测试的路径数目会成倍增长,达到一个巨大数字,以至于无法实现路径覆盖。 为了

文档评论(0)

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

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

1亿VIP精品文档

相关文档