软件测试技术白盒测试基本路径剖析.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
main() { char c; int i=0,j=0,k=0; c=getchar(); while (c!=#) { if (c=Ac=Z||c=ac=z) i++; else if (c=0c=9) j++; else k++; c=getchar(); } printf(i=%d,j=%d,k=%d\n,i,j,k); } ASC||代码与字符对照表 ! “ # $ % ‘ ( ) * + , . 33 34 35 36 37 38 39 40 41 42 43 44 46 / 0 ~ 9 : ; = ? @ A ~ 47 48 ~ 57 58 59 60 61 62 63 64 65 ~ Z [ \ ] ^ - a ~ z { | } ~ 90 91 92 93 94 95 97 ~ 122 123 124 125 126 * * * * * * * * * * * * * * * * * * * * * * * 白盒测试方法 基本路径测试 基本路径测试 上面的例子是一个很简单的程序函数,只有四条路径.但在实践中,一个不太复杂的程序,其路径都是一个庞大的数字,要在测试中覆盖所有的路径是不现实的.为了解决这一难题,只得把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只执行一次.下面介绍的基本路径测试就是这样一种测试方法,它在程序控制流图的基础上,通过分析控制流图的环形复杂性,导出基本可执行路径集合,从而设计测试用例的方法.设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次. 白盒测试的基本概念 为了清晰描述这种白盒测试方法,需要首先对有关白盒测试的几个基本概念进行说明: 流图 环形复杂度 图矩阵 1、流图 在程序设计时,为了更加突出控制流的结构,可对程序流程图进行简化,简化后的图称为控制流图.简化后所涉及的图形符号只有两种,即节点和控制流线. 1 3 2 5 1 2 4 3 5 a b c d e f 节点——标有编号的圆圈 程序流程图中矩形框所表示的处理 菱形表示的两个甚至多个出口判断 多条流线相交的汇合点 边——由带箭头的弧或线表示 与程序流程图中的流线一致,表明了控制的顺序 它代表程序中的控制流。 控制流线通常标有名字 常见语句的控制流图 顺序语句 While语句 do while语句 If语句 Case语句 包含条件的节点被称为判断节点(也叫谓词节点),由判断节点发出的边必须终止于某一个节点,由边和节点所限定的范围被称为区域。 这里我们假定在流程图中用菱形框表示的判定条件内没有复合条件,而一组顺序处理框可以映射为一个单一的结点。 控制流图中的箭头(边)表示了控制流的方向,类似于流程图中的流线,一条边必须终止于一个结点。 在选择或者是多分支结构中分支的汇聚处,即使汇聚处没有执行语句也应该添加一个汇聚结点。 流程图 控制流图 将程序流程图转化为控制流图 三角形问题(流程图-流图) 如果判定中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列只有单个条件的嵌套的判断。 复合条件分解控制流图 2、环形复杂度(圈复杂度) 一种为程序逻辑复杂度提供定量尺度的软件度量. 亦可将该度量用于基本路径方法,它可以提供程序基本集的独立路径数量和确保所有语句至少执行一次的测试数量上界. 独立路径指程序中至少引入一个新的处理语句集合或一个新条件的程序通路,它必须至少包含一条在本次定义路径之前不曾用过的边. 环形复杂度计算 流图中区域的数量对应于环形复杂度; 给定流图G的环形复杂度为V(G),定义为V(G )=E-N+2,E是流图中边的数量,N是流图中节点的数量. 给定流图G的环形复杂度V(G),定义为V(G)=P+1,P是流图G中判定节点的数量. 3、图矩阵 图矩阵-即流图的矩阵表示。其维数等于流图的节点数。每列和每行都对应于标识的节点,矩阵元素对应于节点的边。 节点 1 2 3 4 1 a 2 b 3 c 4 d 流图对应的矩阵图 说明 流图的节点一般用数字标识,边则可以用字母标识。 上例中,若矩阵记为M,则M(4,1)=“d”,表示边d连接节点4和节点1。 需要注意的是,边d的方向是节点4到节点1 习题 根据左图给出的程序流程图,完成以下要求: (1)画出相应的控制流图。 (2)计算环形复杂度。 (3)给出相应的图矩阵。 (4)找出程序的独立路径集合。 void sort(int irecordnum,in

文档评论(0)

四月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档