软件工程导论(第5版)第7章.ppt

  1. 1、本文档共125页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * 图6.16 由PDL翻译成的流图 当过程设计中包含复合条件时,生成流图的方法稍微复杂一些。 复合条件:在条件中包含了一个或多个布尔运算符(逻辑OR,AND,NAND,NOR)。 在这种情况下把复合条件分解为若干个简单条件,每个简单条件对应流图中一个结点。 判定节点:包含条件的结点。从每个判定结点引出两条或多条边。 图6.17是由包含复合条件的流图。 图6.17 由包含复合条件的PDL映射成的流图 2. 计算环形复杂度的方法 利用流图,用下述3种方法中的任何一种来计算环形复杂度。 3种方法: V(G) = D (流图G中的区域数等于环形复杂度) D:区域数。 V(G) = E – N + 2 E:流图中边的条数。 N:流图中结点数。 V(G) = P + 1 P:判定结点(有2条输出弧)的数目。 有n(n2)条输出弧的判定结点对应程序中的n-1个判断。 7.6.2 控制结构测试 1. 基本路径测试 基本路径测试是Tom McCabe提出的一种白盒测试技术。 首先计算程序的环形复杂度; 以该复杂度为指南定义执行路径的基本集合; 从该基本集合导出的测试用例可保证程序中的每条语句至少执行一次,而且每个条件在执行时都将分别取真、假两种值。 i=1; total.input=total.valid=0; sum=0; DO WHILE value[i] -999 AND total.input100 increment total.input by 1; IF value[i]=minimum AND value[i]=maximum THEN increment total.valid by 1; sum=sum+value[i]; ENDIF increment i by 1; ENDDO IF total.valid0 THEN average=sum/total.valid; ELSE average=-999; ENDIF 例:求平均值过程 (1) 根据过程设计结果画出相应的流图。 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 9 8 7 10 12 11 13 (2) 计算流图的环形复杂度。 V(G)=6 (3) 确定线性独立路径的基本集合。 所谓独立路径是指至少引入程序的一个新处理语句集合或一个新条件的路径。 用流图术语描述,独立路径至少包含一条在定义该路径之前不曾用过的边。 路径1:1-2-10-11-13 路径2:1-2-10-12-13 路径3:1-2-3-10-11(12)-13 路径4:1-2-3-4-5-8-9-2- 10-11(12)-13 路径5:1-2-3-4-5-6-8-9- 2-10-11(12)-13 路径6:1-2-3-4-5-6-7-8- 9-2-10-11(12)-13 (4) 设计可强制执行每条独立路径的测试用例。 应该选取测试数据使得在测试每条路径时都适当地设置好了各个判定结点的条件。 在测试过程中,执行每个测试用例并把实际输出结果与预期结果相比较。 一旦执行完所有测试用例,就可以确保程序中所有语句都至少被执行了一次,而且每个条件都分别取过true值和false值。 某些独立路径不能以独立的方式测试,这些路径必须作为另一个路径的一部分来测试。 3. 循环测试 循环测试是一种白盒测试技术,它专注于测试循环结构的有效性。 在结构化的程序中通常只有3种循环,即简单循环、串接循环和嵌套循环。 (1) 简单循环 应该使用下列测试集来测试简单循环,其中n是允许通过循环的最大次数。 跳过循环。 只通过循环一次。 通过循环两次。 通过循环m次,其中mn-1。 通过循环n-1,n,n+1次。 (2) 嵌套循环 从最内层循环开始测试,其他循环都设置为最小值。 对最内层循环使用简单循环测试方法,而使外层循环的迭代参数取最小值,并为越界值或非法值增加一些额外的测试。 由内向外,对下一个循环进行测试,但保持所有其他外层循环为最小值,其他嵌套循环为“典型”值。 继续进行下去,直到测试完所有循环。 (3) 串接循环 如果串接循环的各个循环都彼此独立,则可以使用测试简单循环的方法来测试串接循环。 如果两个循环串接,而且第一个循环的循环计数器值是第二个循环的初始值,则这两个循环并不是独立的。当循环不独立时,建议使用测试嵌套循环的方法来测试串接循环。 7.7 黑盒测试技术 黑盒测试着重测试软件功能,错误类型为: 功

文档评论(0)

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

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

1亿VIP精品文档

相关文档