- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课件白盒测试之理论篇
覆盖标准 程序结构举例 测试用例 应满足的条件 语句覆盖 A^B=.T. 分支覆盖 A^B=.T. A^B=.F. A^B T F A^B T F * 条件覆盖 A=.T. A=.F. B=.T. B=.F. 判定/条件 覆盖 A^B=.T. , A^B=.F. A=.T. A=.F. B=.T. B=.F. 条件组合 覆盖 A=.T. ^ B=.T. A=.T. ^ B=.F. A=.F. ^ B=.T A=.F. ^ B=.F. A^B T F A^B T F A^B T F 图示如下: * 8.2.1 语句覆盖 语句覆盖”是一个比较弱的测试标准, 它的含义是:选择足够的测试用例,使得程序 中每个语句至少都能被执行一次。为使程序中 每个语句至少执行一次,只需设计一个能通过 路径ace的例子就可以了,例如选择输入数据为: A=2,B=0,X=3 就可达到“语句覆盖”标准。 从上例可看出,语句覆盖实际上是很弱的, 如果第一个条件语句中的AND错误地编写成OR, 上面的测试用例是不能发现这个错误的; 又如第三个条件语句中X>1误写成X>0,这个测 试用例也不能暴露它,此外,沿着路径abd执行 时,X的值应该保持不变,如果这一方面有错 误,上述测试数据也不能发现它们。 语句覆盖 * 8.2.1 分支覆盖 A=3,B=0,X=1 (沿路径acd执行)?? A=2,B=1,X=3 (沿路径abe执行) 比“语句覆盖”稍强的覆盖标准是“分支覆盖” 含义是:执行足够的测试用例,使得程序中的每一个分支至少都通过一次。 对例1的程序,如果设计两个例子,使它们能通过路径ace和abd,或者通过路径acd和abe,就可达到“判定覆盖”标准,为此,可以选择输入数据为: ① A=3,B=0,X=1 (沿路径acd执行);?? ② A=2,B=1,X=3(沿路径abe执行)? 程序中含有判定的语句包括if-then-else、do-until、case、do-while等,所以“分支覆盖”更一般的含义是:使得每一个分支获得每一种可能的结果。 “分支覆盖”比“语句覆盖”严格,因为如果每个分支都执行过了,则每个语句也就执行过了。但是,“分支覆盖”还是很不够的,例如例1两个测试用例未能检查沿着路径abd执行时,X的值是否保持不变。 * 8.2.1 条件覆盖 A=2,B=0,X=4??(沿路径ace执行) A=1,B=1,X=1? (沿路径abd执行) 一个判定中往往包含了若干个条件, 如例1的程序中,判定(A>1) AND (B=0)包含了两个条件: A>1以及 B=0,所以可引进一个更强的覆盖标准——“条件覆盖”。 “条件覆盖”的含义是:执行足够的测试用例使得判定中的每个条件获得各种可能的结果。 例1的程序有四个条件:A>1、 B=0、A=2、X>1 为了达到“条件覆盖”标准,需要执行足够的测试用例使得在a点有: A>1、A≤1、B=0、B≠0 等各种结果出现, 以及在b点有: A=2、A≠2、X>1、X≤1 等各种结果出现。 现在只需设计以下两个测试用例就可满足这一标准: ① A=2,B=0,X=4??(沿路径ace执行); ② A=1,B=1,X=1?? (沿路径abd执行)。 * 8.2.1 条件覆盖 “条件覆盖”通常比“分支覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果,而判定覆盖则不保证这一点。 “条件覆盖”并不包含“分支覆盖”,如对语句IF(A AND B)THEN S 设计测试用例使其满足条件覆盖,即使A为真并使B为假,以及使A为假而且B为真,但是它们都未能使语句S得以执行。 * 条件覆盖 如对例2设计了下面的测试用例,则虽然满足了条件覆盖,但只覆盖了第一个条件的取假分支和第二个条件的取真分支,不满足分支覆盖的要求。 测试用例 通过路径 条件取值 覆盖分支 x=2、y=6、z=5 acd -T1、T2、-T3、T4 cd x=4、y=5、z=15 acd T1、-T2、T3、-T4 cd * 8.2.1 分支/条件覆盖 针对上面的问题引出了另一种覆盖标准——“分支 /条件覆盖”,它的含义是:执行足够的测试用例,使得分支中每个条件取到各种可能的值,并使每个分支取到各种可能的结果。 对例1的程序,前面的两个例子 ① A=2,B=0,X=4 (沿ace路)?????????????????????? ② A=1,B=1,X=1 (沿abd路径)?? 是满足这一标准的。 * 分支/条件覆盖 对例2,根据定义只需设计以下两个测试用例便可以覆盖8个条件值以及4个判断分支
您可能关注的文档
- 培训量子物理基础1.ppt
- 课件第4章 多组分系统热力学1.ppt
- 浅析光学机械设计optomechanical design主讲:朱健强中.ppt
- 教案金属丝直径的测量.ppt
- 精选日本广告史.ppt
- 精品第一讲 数字电视概论.ppt
- 精选子弹冲击刚性壁.ppt
- 精品电子式送经机构工作原理.ppt
- 精品动量矩(三).ppt
- 浅析概率论四五章课后习题.ppt
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)