- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试-5.2
软件测试技术与案例实践教程 北京师范大学出版社 主编: 刘竹林 5.5 条件覆盖 5.5.1 条件覆盖的定义 条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。 一个判定中往往包含了若干个条件, 所以可引进一个更强的覆盖标准— —“条件覆盖”。 条件覆盖分为三种: (1)简单条件: (a 操作符 b) 操作符 ={, ≤, =, ≠, ≥, } ( 以及带 NOT的否定表达式) 例如: a≤b; NOT(a≤b) (2)复合条件: 用 AND和OR 连接起来的两个或两个以上的简单条件。 例如: (ab) AND (cd) (3)关系表达式: (E1 操作符 E2),其中E1 and E2 是算术不等式。 例如: ((a*b+c)(a+b+c)) 5.5.2例题 [例5-1] 给出图5-9 的条件覆盖测试用例。见表5-7 , 给出图5-9 的条件覆盖测试用例。 其中,初始值 i = result = 0 。 表5-7 条件覆盖测试用例 5.5.2例题 [例5-2] 给出图5-10 的条件覆盖测试用例。这里我们看图5-10,图中有四个条件: ?A>1、B=0、A=2、X>1. 图 5-10 程序流程图 5.5.2例题 为了达到“条件覆盖”标准,需要执行足够的测试用 例使得在a点有: ?A>1、A≤1、B=0、B≠0 等各种结果出现,以及在b点有: ???????A=2、A≠2、X>1、X≤1 等各种结果出现。 现在只需设计以下两个测试用例就可满足这一标准: A=2,B=0,X=4?(沿路径acbed执行);??????? A=1,B=1,X=1??(沿路径abd执行)。? 条件覆盖测试用例如表5-8 所示 5.5.2例题 表5-8 条件覆盖测试用例 5.5.2例题 “条件覆盖”通常比“判定覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果,而判定覆盖则不保证这一点。 但如对语句IF(A AND B) THEN S 设计测试用例使其满足“条件覆盖”,即使A为真并使B为假,以及使A为假而且B为真,但是它们都未能使语句S得以执行。显然条件覆盖比判定覆盖,增加了对符合判定情况的测试,增加了测试路径。 但是,要达到条件覆盖,需要足够多的测试用例,但条件覆盖并不能保证判定覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。 虽然判定/条件覆盖满足判定覆盖准则和条件覆盖准则,弥补了二者的不足。但是判定/条件覆盖准则的缺点是未考虑条件的组合情况。 5.6 判定与条件覆盖 判定/条件覆盖的含义是: 执行被测试程序 时,程序中每个判定条件的真假值分支至少被执 行一遍,并且每个判定条件的内部判定式的真假 值分支也要被执行一遍。即同时满足100%判定覆 盖和100%条件覆盖的要求。 [例5-3] 给出图5-10判定/条件覆盖的测试用例。 对于图5-10的,设计如下的输入数据即可: A=2,B=0,X=4?(沿acbed路径)????????????????? ②A=1,B=1,X=1(沿abd路径)? 5.6 判定与条件覆盖 ? 判定/条件覆盖测试用例如表5-9 所示。 表5-9 判定/条件覆盖测试用例 5.7 条件组合覆盖 条件组合覆盖的含义是:执行足够的例子,使得每个判定中条 件的各种可能组合都至少出现一次。显然,满足“条件组合覆盖”的 测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖” 的。 [例5-4] 利用条件组合覆盖方法给出图5-2的测试用例。 对于图5-2的程序,第1个If 语句的条件组合是: ?1)A1, B=0??????????2)? A1, B10???????? 3)? A≤1, B=0??????????4)A≤1, B≠0????? 对于第2个If 语句的条件组合是:????????????????????????? ?5)A=2, X1???? ???6)A=2,X≤1?????? 7)A≠2, X1???? ??8)A≠2, X≤1 条件组合覆盖要求我们需要选择适当的例子,使得这8种条件组合 都能够出现。 5.7 条件组合覆盖 因此,给出下面四个例子可以使上述8种条件组合至少出现 一次: (1)A=2,B=0,X=4使1)、5)两种情况出现; (2)A=2,B=1,X=1使2)、6)两种情况出现;? (3)A=1,B=0,X=2使3)、7)
文档评论(0)