第11,12课时路径测试导论.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
独立路径测试 程序2-2(续): 12 { 13 score = score-10; 14 num2++; 15 } 16 i++; 17 } 18 System.out.println(“num1=”+num1+“,num2=”+num2+“,score=”+score); 19 } 独立路径测试 第一步:画出控制流图(每个圆圈代表控制流图的节点,可以表示一个或多个语句。圆圈中的数字对应程序中某一行的编码,箭头代表边的方向,即控制流方向) 独立路径测试 第二步:求出程序环形复杂度 公式1:V(G) = 9-7+2,其中10是控制流图G中边的数量,8是控制流图中节点的数目。 公式2:V(G) = 3+1,其中3是控制流图G中判断节点的数目(注:循环条件节点也属于判断节点)。 公式3:V(G) = 4,其中4是控制流图G中区域的数目。 因此,控制流图G的环形复杂度是4,就是说至少需要4条独立路径组成独立路径集合,并由此得到能够覆盖所有程序语句的测试用例。 独立路径测试 第三步:设计测试用例 根据上面环形复杂度的计算结果,源程序的独立路径集合中有4条独立路径: Path1:7 ?18 Path2:7 ? 9 ? 10 ? 16 ? 7 ? 18 Path3:7 ? 9 ? 11 ? 16 ? 7 ? 18 Path4:7 ? 9 ? 11 ? 13 ? 14 ? 16 ? 7 ? 18 Z路径测试 为解决实际操作中路径覆盖难以实现问题,必须舍弃一些次要因素,简化循环结构,从而极大地减少路径的数量,使得覆盖这些有限的路径成为可能。采用简化循环方法的路径覆盖就是Z路径覆盖。 所谓简化循环就是减少循环的次数,不考虑循环体的形式和复杂度如何,也不考虑循环体实际上需要执行多少次,只考虑通过循环体零次和一次这两种情况。零次循环是指跳过循环体,从循环体的入口直接到循环体的出口。通过一次循环体是指检查循环初始值。根据简化循环的思路,循环要么执行,要么跳过,这和判定分支的效果是一样的。可见,简化循环就是将循环结构变成选择结构。 本节内容总结 路径分析的测试方法 Z路径覆盖测试方法 软件测试技术与实践 路径分析测试 控制流图 圈复杂度 独立路径测试 Z路径覆盖测试 上一节课我们学了什么呢 控制流图 控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。 控制流图中包括两种图形符号:节点和控制流线。 节点由带标号的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。 控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。 对于复合条件,则可将其分解为多个单个条件,并映射成控制流图。 常见结构的控制流图 其中,包含条件的节点被称为判定节点(也叫谓词节点),由判定节点发出的边必须终止于某一个节点,由边和节点所限定的范围被称为区域,当对区域计数时,图形外的区域也应记为一个区域。 流程图转换为流图 如果判断中的条件表达式是由一个或多个逻辑运算符 (OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。(A和B叫做判断节点) 例如: 1 if a or b 2 x 3 else 4 y 对应的逻辑为: 流程图转换为流图 一个节点包含1个或多个连续的无分支语句 节点不允许含有复合节点 待测试程序 用流图表示的待测试程序 流程图转换为流图 1 7 6 2,3 8 9 10 11 4,5 7 6 2 3 1 8 4 5 11 9 10 节点 边 区域 区域:由边和解点封闭起来的区域 计算区域:不要忘记区域外的部分 待测试程序 用流图表示的待测试程序 环路复杂度 环路复杂度也叫圈复杂度,其值等于流程图中的区域个数,利用圈复杂度可以确定程序基本路径集合的独立路径数。 圈复杂度的计算公式有三个: 1、圈复杂度=流图中的区域个数 2、圈复杂度=流图边数-节点数+2 3、圈复杂度=流图中谓词节点数+1 独立路径 独立路径:至少沿一条新的边移动的路径 1 7 6 2,3 8 9 10 11 4,5 路径1:1-11 路径2:1-2-3-4-5-10-1-11 路径3:1-2-3-6-8-9-10-1-11 路径4:1-2-3-6-7-9-10-1-11 对以上路径的遍历,就是至少一次地执行了程序中的所有语句。 基

文档评论(0)

过各自的生活 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档