通常把编码和测试统称为实现.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6. 点覆盖 图论中点覆盖的概念定义如下:如果连通图G的子图G′是连通的,而且包含G的所有结点,则称G′是G的点覆盖。 满足点覆盖标准要求选取足够多的测试数据,使得程序执行路径至少经过流图的每个结点一次,由于流图的每个结点与一条或多条语句相对应,显然点覆盖标准和语句覆盖标准是相同的。 PROCEDURE average; /* 这个过程计算不超过100个在规定值域内的有效数字的平均值;同时计算有效数字的总和及个数。*/ INTERFACE RETURNS average, total.input, total.valid; INTERFACE ACCEPTS value, minimum, maximum; TYPE value[1…100] IS SCALAR ARRAY; TYPE average, total.input, total.valid; minimum,maximum, sum IS SCALAR; TYPE i IS INTEGER; 1: i=1; total.input=total.valid=0; sum=0; 2: DO WHILE value[i] -999 3: AND total.input100 4: increment total.input by1; 5: IF value[i]=minimum 6: AND value[i]=maximum 7: THEN increment total.valid by 1; sum=sum+value[i]; 8: ENDIF increment i by 1; 9: ENDDO 10: IF total.valid0 11: THEN average=sum/total.valid; 12: ELSE average=-999; 13: ENDIF END average 第二步,计算流图的环形复杂度。 环形复杂度定量度量程序的逻辑复杂性。有了描绘程序控制流的流图之后,可以用第6.5.1小节讲述的3种方法之一计算环形复杂度。经计算,图7.6所示流图的环形复杂度为6。 第三步,确定线性独立路径的基本集合。 所谓独立路径是指至少引入程序的一个新处理语句集合或一个新条件的路径,用流图术语描述,独立路径至少包含一条在定义该路径之前不曾用过的边。 使用基本路径测试法设计测试用例时,程序的环形复杂度决定了程序中独立路径的数量,而且这个数是确保程序中所有语句至少被执行一次所需的测试数量的上界。 对于图7.6所描述的求平均值过程来说,由于环形复杂度为6,因此共有6条独立路径。 通常在设计测试用例时,识别出判定结点是很有必要的。本例中结点2、3、5、6和10是判定结点。 2. 条件测试 用条件测试技术设计出的测试用例,能够检查程序模块中包含的逻辑条件。一个简单条件是一个布尔变量或一个关系表达式,在布尔变量或关系表达式之前还可能有一个NOT算符。关系表达式的形式如下: E1关系算符E2 其中,E1和E2是算术表达式,而关系算符是下列算符之一:“”, “≤”,“=”,“≠”,“”或“≥”。复合条件由两个或多个简单条件、布尔算符和括弧组成。布尔算符有OR(“|”),AND(“”)和NOT。不包含关系表达式的条件称为布尔表达式。 因此,条件成分的类型包括布尔算符、布尔变量、布尔括弧(括住简单条件或复合条件)、关系算符及算术表达式。 条件测试方法着重测试程序中的每个条件。本节下面将讲述的条件测试策略有两个优点: ①容易度量条件的测试覆盖率; ②程序内条件的测试覆盖率可指导附加测试的设计。 人们已经提出了许多条件测试策略。分支测试可能是最简单的条件测试策略:对于复合条件C来说,C的真分支和假分支以及C中的每个简单条件,都应该至少执行一次。 包含n个变量的布尔表达式需要2n个(每个变量分别取真或假这两个可能值的组合数)测试。这个策略可以发现布尔算符、变量和括弧的错误,但是,该策略仅在n很小时才是实用的。 BRO(branch and relational operator)测试: 如果在条件中所有布尔变量和关系算符都只出现一次而且没有公共变量,则BRO测试保证能发现该条件中的分支错和关系算符错。 BRO测试利用条件C的条件约束来设计测试用例。包含n个简单条件的条件C的条件约束定义为(D1,D2,…,Dn),其中Di(0i≤n)表示条件C中第i个简单条件的输出约束。如果在条件C的一次执行过程中,C中每个简单条件的输出都满足D中对应的约束,则称C的这次执行覆盖了C的条件约束D。 对于布尔变量B来说,B的输出约束指出,B必须

文档评论(0)

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

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

1亿VIP精品文档

相关文档