第4章 白盒测试及其用例的的设计.pptVIP

第4章 白盒测试及其用例的的设计.ppt

  1. 1、本文档共12页,可阅读全部内容。
  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.3 循环测试方法 从本质上说,循环测试的目的就是检查循环结构的有效性。 通常,循环可以划分为简单循环、嵌套循环、串接循环和 非结构循环4类。 (1)测试简单循环。设其循环的最大次数为n ,可采用以下测试集: 跳过整个循环; 只循环一次; 只循环两次; 循环 m 次,其中m<n; 分别循环 n-1、n 和 n+1 次。 循环测试方法(续) (2)测试嵌套循环。如果将简单循环的测试方法用于嵌套循环,可能的测试次数会随嵌套层数成几何级数增加。 此时可采用以下办法减少测试次数: 测试从最内层循环开始,所有外层循环次数设置为最小值; 对最内层循环按照简单循环的测试方法进行; 由内向外进行下一个循环的测试,本层循环的所有外层循环仍取最小值,而由本层循环嵌套的循环取某些“典型”值; 重复上一步的过程,直到测试完所有循环。 (3)测试串接循环。若串接的各个循环相互独立,则可分别采用简单循环的测试方法;否则采用嵌套循环的测试方法。 (4)对于非结构循环这种情况,无法进行测试,需要按结构化程序设计的思想将程序结构化后,再进行测试。 Z路径覆盖下的循环测试方法 Z路径覆盖是路径覆盖的一种变体,它是将程序中的循环结构简化为选择结构的一种路径覆盖。 循环简化的目的是限制循环的次数,无论循环的形式和循环体实际执行的次数,简化后的循环测试只考虑执行循环体一次和零次(不执行)两种情况,即考虑执行时进入循环体一次和跳过循环体这两种情况。 4.4.4 产生测试用例 在实践中,除了前面给出的各种方法外,通常还可以采用以下三种方法来补充设计测试用例: (1)通过非路经分析得到测试用例 ——这种方法得到的测试用例是在应用系统本身的实践中提供的,基本上是测试人员凭工作经验的得到,甚至是猜测得到的。 (2)寻找尚未测试过的路径并生成相应的测试用例 ——这种方法需要穷举被测程序的所有路径,并与前面已测试路径进行对比。 (3)通过指定特定路径并生成相应的测试用例 4.5 最少测试用例数计算 为实现测试的逻辑覆盖,必须设计足够多的测试用例,并使用这些测试用例执行被测程序,实施测试。我们关心的是:对于某个具体的程序来说,至少需要设计多少个测试用例。这里提供一种估算最少测试用例数的方法。 我们知道,结构化程序是由 3 种基本控制结构组成:顺序型(构成串行操作)、选择型(构成分支操作)和重复型(构成循环操作)。 为了把问题化简,避免出现测试用例极多的组合爆炸,把构成循环操作的重复型结构用选择结构代替。这样,任一循环便改造成进入循环体或不进入循环体的分支操作了。 最少测试用例数计算(续) 用N-S图表示程序的3种基本控制结构: 最少测试用例数计算(续) 显然,要测试这个小程序,需要至少提供4个测试用例才能作到逻辑覆盖,使得ac、ad、bc及bd操作均得到检验。其实,这里的4是图中的第1个分支谓词引出的两个操作,及第2个分支谓词引出的两个操作组合起来而得到的,即 2×2=4。并且,这里的2是由于两个并列的操作,即1+1=2 而得到的。 最少测试用例数计算(续) 最少测试用例数计算(续) 最少测试用例数计算(续) 习题 1、将下图所示的流程图转换为N-S图,并估算至少需要多少个测试用例完成逻辑覆盖? 习题 2、某程序所画出的N-S图 如右图所示的,至少需要 多少个测试用例才能对该 程序实现逻辑覆盖? A Free sample background from 第四章 白盒测试及其用例的设计 在循环简化的思路下,循环与判定分支的效果是一样的,即:循环要么执行、要么跳过。 图中A、B、C、D、S均表示要执行的操作,P是可取真假值的谓词,Y表真值,N表假值。 图中的 (c) 和 (d) 两种重复型结构代表了两种循环。在做了简化循环的假设以后,对于一般的程序控制流,我们只考虑选择型结构。事实上它已经能体现顺序型和重复型结构了。 例如,下图表达了两个顺序执行的分支结构。当两个分支谓词P1和P2取不同值时,将分别执行a或b及c或d操作。 对于一般的、更为复杂的问题,估算最少测试用例个数的原则也是同样的: 如果在N-S图中存在有并列的层次A1、A2,A1和A2的最少测试用例个数分别为a1、a2,则由 A1、A2 两层所组合的 N-S图对应的最少测试用例数为a1×a2。 如果在N-S图中不存在有并列的层次,则对应的最少测试用例数由并列的操作数决定,即N-S图中除谓词之外的操作框的个数。 例:如下图所示的两个N-S图,至少需要多少个测试用例完成逻辑覆盖? 对于第一个N-S图: 由于图中并不存在并列的层次,最少测试用例数由并列的操作数决定,即为1+1+1=3。 对于第二个N-S图: 由于图中没有包含并列的层次,最少测试用

文档评论(0)

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

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

1亿VIP精品文档

相关文档