4软件动态测试技术课件.ppt

4软件动态测试技术课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共163页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环的路径测试(续) (2)测试嵌套循环。如果将简单循环的测试方法用于嵌套循环,可能的测试次数会随嵌套层数成几何级数增加。 此时可采用以下办法减少测试次数: 测试从最内层循环开始,所有外层循环次数设置为最小值; 对最内层循环按照简单循环的测试方法进行; 由内向外进行下一个循环的测试,本层循环的所有外层循环仍取最小值,而由本层循环嵌套的循环取某些“典型”值; 重复上一步的过程,直到测试完所有循环。 (3)测试串接循环。若串接的各个循环相互独立,则可分别采用简单循环的测试方法;否则采用嵌套循环的测试方法。 (4)对于非结构循环这种情况,无法进行测试,需要按结构化程序设计的思想将程序结构化后,再进行测试。 Z路径覆盖下的循环测试方法 Z路径覆盖是路径覆盖的一种变体,它是将程序中的循环结构简化为选择结构的一种路径覆盖。 循环简化的目的是限制循环的次数,无论循环的形式和循环体实际执行的次数,简化后的循环测试只考虑执行循环体一次和零次(不执行)两种情况,即考虑执行时进入循环体一次和跳过循环体这两种情况。 在循环简化的思路下,循环与判定分支的效果是一样的,即:循环要么执行、要么跳过。 生成测试用例 在实践中,除了前面给出的各种方法外,通常还可以采用以下三种方法来补充设计测试用例: (1)通过非路经分析得到测试用例 ——这种方法得到的测试用例是在应用系统本身的实践中提供的,基本上是测试人员凭工作经验的得到,甚至是猜测得到的。 (2)寻找尚未测试过的路径并生成相应的测试用例 ——这种方法需要穷举被测程序的所有路径,并与前面已测试路径进行对比。 (3)通过指定特定路径并生成相应的测试用例 综合实践(Chap4-8) 1、编程实现三角形问题,并为你编写的代码设计测试用例,使之满足判定覆盖的要求。 2、编程实现NextDate函数,并为你编写的代码设计测试用例,使之满足判定覆盖的要求。 3、使用基本路径测试法为第1题中的程序设计测试用例,并写出测试结果。 4、使用基本路径测试法为第2题中的程序设计测试用例,并写出测试结果。 逻辑覆盖(续) X3 z10 执行语句块1 执行语句块2 X==4 || y5 执行语句块3 F F T T a b d c e 语句覆盖(SC) 要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。 测试用例输入为:{ x=4、y=5、z=5 } 程序执行的路径是:abd 分析: 语句覆盖可以保证程序中的每个语句都得到执行,但发现不了判定中逻辑运算的错误,即它并不是一种充分的检验方法。例如在第一个判定((x3)(z10))中把“”错误的写成了“||”,这时仍使用该测试用例,则程序仍会按照流程图上的路径abd执行。可以说语句覆盖是最弱的逻辑覆盖准则。 分支覆盖(BC) 要实现DoWork函数的分支覆盖,需要设计两个测试用例。 测试用例的输入为:{x=4、y=5、z=5};{x=2、y=5、z=5} 程序执行的路径分别是:abd;ace 分析: 上述两个测试用例不仅满足了分支覆盖,同时还做到语句覆盖。从这点看似乎分支覆盖比语句覆盖更强一些,但仍然无法确定判定内部条件的错误。例如把第二个判定中的条件y5错误写为y5,使用上述测试用例,照样能按原路径执行而不影响结果。因此,需要有更强的逻辑覆盖准则去检验判定内的条件。 分支覆盖(续) 1 6 3 5 2 7 8 9 4 10 说明:以上仅考虑了两出口的判断,我们还应把分支覆盖准则扩充到多出口判断(如:Case语句)的情况。因此,分支覆盖更为广泛的含义应该是使得每一个判定获得每一种可能的结果至少一次。 条件覆盖(CC) 如果判定是由逻辑运算符连接的几个条件确定的,则测试中需要考虑条件的复杂性。 在实际程序代码中,一个判定中通常包含若干原子条件。条件覆盖的目的是设计若干测试用例,执行被测程序后,使每个判定中每个原子条件的所有可能值至少满足一次。 对DoWork函数的各个判定的各种原子条件取值加以标记。 对于第一个判定( (x3)(z10) ): 条件x3 取真值记为T1,取假值记为-T1 条件z10 取真值记为T2,取假值记为-T2 对于第二个判定( (x==4)||(y5) ): 条件x==4 取真值记为T3,取假值记为-T3 条件y5 取真值记为T4,取假值记为-T4 条件覆盖(续) 根据条件覆盖的基本思想,要使上述4个原子条件可能产生的8种情况至少满足一次,设计测试用例如下: 测试用例 执行路径 覆盖条件 覆盖分支 x=4、y=6、z=5 abd T1、T2、T3、T4 bd x=2

文档评论(0)

共享文档 + 关注
实名认证
内容提供者

二级建造师持证人

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

领域认证该用户于2023年10月07日上传了二级建造师

1亿VIP精品文档

相关文档