软件测试课件作者郑人杰许静于波第4章节白盒测试一.pptVIP

软件测试课件作者郑人杰许静于波第4章节白盒测试一.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 白盒测试 4.1 程序结构分析 程序框图 控制流图 控制流图 节点:代替操作、条件判断及汇合点 控制流线或弧:控制的顺序 对程序的要求 不应包含: (1)转向并不存在的标号 (2)没有用的语句标号 (3)从程序入口无法到达的语句 (4)不能到达停机语句的语句 第三种情况的检测方法 Begin 清栈; 为入口节点做标记; 入口节点入栈; while 栈非空 do begin n:=栈顶节点; 出栈; 为所有未标记的n的后继做标记且进栈; end End 处理后,未做标记的节点为不可达语句 数据流分析 定义: 变量被语句定义:某一语句执行时能改变变量V的值,则称V是被该语句定义的。 变量被语句引用:某一语句的执行应用了内存变量V的值,则称变量被语句引用。 例 语句:X:=Y+Z 定义了变量X, 引用了Y, Z 语句:if YZ then … 引用了Y和Z 语句:READ X 定义了X WRITE X 引用了X 语句的执行也可以使变量失去定义,成为无意义。 循环语句中循环变量在正常出口时, 就变成无意义。 程序中存在的两个错误和两个异常 两个错误 语句2使用变量W,但在此之前并未定义 语句5,6使用变量V,在第一次执行循环时也未定义 两个异常 语句6对Z的定义从未使用 语句8对W的定义从未使用 可达性定义 语句i对变量V的定义,表示为Vi 如果在控制流图中一条路径并未对变量V定义,那么该路经就是变量V的明确定义 如果从节点i到节点j的入口(或出口),变量V有一明确定义路径,定义Vi便说是达到了节点j的入口(或出口)。 对任意一个节点i, si:表示达到i的入口的变量定义的集合 ti:表示达到i的出口的变量定义的集合 pi:是节点保存的所有定义的集合 ci:是节点中生成的定义的集合 ti=(si∩ pi)∪ci 达到节点i的顶点的定义集合是达到其前趋出口的定义的集合 若xi表示节点i前趋的集合,则可表示成: 有n个节点,则可以得到一个方程组 设初始si=di,依次对s1,s2,s3,…求解方程 当s的值不再改变时,就得到了所有解 每个si的集合可用一个二进制向量表示,程序中的每个变量定义对应于向量的分量。如果对应的定义属于si,则该分量取值为1,否则为0。 pi和di也用同样的方法表示 算法 Begin For i=1 to n do si=di CHANGE = true; While CHANGE do Begin for i=1 to n do Begin Temp= if Temp ≠si then { CHANGE=true; si= temp } end End End 说明 引用未定义变量:对每一个节点,依次考虑语句引用的每一个变量,如果没有定义到达,就是一个错误。 1. 节点2,引用了W,但是W的定义并没有达到节点2,所以有一个错误。 2. 节点5,6引用了变量V,表中可达,但第一次使用时没有赋值,无法查出。 未曾使用的定义:对每一个变量V的定义,依次查看V达到的每一个节点,如果没有引用变量的相应语句,就是一个异常 3. 定义Z6,可以到达7,8,9,然而没有语句引用 4. 定义W8,没有被语句引用 信息流分析 找出程序语句之间的隐含信息,以便于错误定位。 例:求M,N的商,Q为商,R为余数 语句 Begin 1 Q:=0 2 R:=M 3 While R=N do begin 4 Q:=Q+1 5 R:=R-N end end 每一条语句执行时与输入变量和输出变量之间的关系 信息流分析应用于 程序排错 程序验证 结果分析 4.2逻辑覆盖测试 测试到何种程度 —测试数据设计准则 语句覆盖 判定覆盖 条件覆盖 判定-条件覆盖 路径覆盖 举 例 语句覆盖 使程序中的每一条可执行语句至少执行一次 判定覆盖 使程序中的每个判断的取真分支和取假分支至少经历一次,即判断的真假值均被满足,又称为分支覆盖。 路径覆盖 设计足够多的测试用例,覆盖程

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档