第4章(1)-白盒测试方法1-逻辑覆盖法

上传人:cjc****537 文档编号:53458439 上传时间:2018-08-31 格式:PPT 页数:66 大小:936.50KB
返回 下载 相关 举报
第4章(1)-白盒测试方法1-逻辑覆盖法_第1页
第1页 / 共66页
第4章(1)-白盒测试方法1-逻辑覆盖法_第2页
第2页 / 共66页
第4章(1)-白盒测试方法1-逻辑覆盖法_第3页
第3页 / 共66页
第4章(1)-白盒测试方法1-逻辑覆盖法_第4页
第4页 / 共66页
第4章(1)-白盒测试方法1-逻辑覆盖法_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《第4章(1)-白盒测试方法1-逻辑覆盖法》由会员分享,可在线阅读,更多相关《第4章(1)-白盒测试方法1-逻辑覆盖法(66页珍藏版)》请在金锄头文库上搜索。

1、软件测试,第4章 白盒测试方法 逻辑覆盖法,目 录,知识回顾,软件测试技术分类: 按面向测试对象粒度(按开发阶段)分: 按测试方法分: 按运行状态分: 什么是测试用例?由哪些部分组成? 这个程序可以用来求什么?k = i; for(j = i+1; j = n; j+) if(Aj 1) & (B=0),(A=2) | (X1),X=X/A,X=X+1,真,T,假,F,a,b,d,c,e,开始,例 子,L1: ( a c e ) = (A1) and (B=0) and (A=2) or (X/A1) = (A1) and (B=0) and (A=2) or(A1) and (B=0) an

2、d (X/A1) = (A=2) and (B=0) or(A1) and (B=0) and (X/A1),例 子,L2: ( a b d ) = not(A1) and (B=0) and not(A=2) or (X1) = not (A1) or not (B=0) and not (A=2) and not (X1) = not (A1) and not (A=2) and not (X1)or not (B=0) and not (A=2) and not (X1),例 子,L3 :( a b e) = not (A1) and (B=0) and(A=2) or (X1) = n

3、ot (A1) or not (B=0) and (A=2) or (X1) = not (A1) and (A=2) or not (A1) and (X1) ornot (B=0) and (A=2) ornot (B=0) and (X1),例 子,L4: ( a c d ) = (A1) and (B=0) andnot (A=2) or (X/A1) = (A1) and (B=0) and not (A=2) and not (X/A1),语句覆盖,语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。 在例图中,正好所有的可执行语句都在路径L1上,所以选择

4、路径 L1设计测试用例,就可以覆盖所有的可执行语句。,语句覆盖,测试用例的设计格式如下: 【输入的(A, B, X),输出的(A, B, X)】 为图例设计满足语句覆盖的测试用例是: 【(2, 0, 4),(2, 0, 3)】 覆盖 a-c-e【L1】,(A=2) and (B=0) or(A1) and (B=0) and (X/A1),例,(A1) & (B=0),(A=2) | (X1),X=X/A,X=X+1,真,真,假,F,a,b,d,c,e,开始,语句覆盖,语句覆盖率 已执行的可执行语句占程序中可执行语句总数的百分比 复杂的程序不可能达到语句的完全覆盖 语句覆盖率越高越好,语句覆盖

5、的优点,检查所有语句 结构简单的代码的测试效果较好 容易实现自动测试 代码覆盖率高 如果是程序块覆盖,则不涉及程序块中的源代码,语句覆盖不能检查出的错误,逻辑运算(&、|)错误判定的第一个运算符“&”错写成“|”,或第二个运算符“|”错写成“&”,这时使用上述的测试用例仍然可以达到100%的语句覆盖. 循环语句错误 循环次数错误 跳出循环条件错误,语句覆盖不能检查出的错误,循环语句例子for(i=0;i3) statement; ,for(i=0;i3 ,语句覆盖率的问题,能达到很高的语句覆盖率 语句覆盖率看似很高,却有严重缺陷:if(x!=1)statements;elsestatement

6、;,99句,1句,测试用例: x = 2 语句覆盖率99% 50%的分支没有达到,【优点】 :可以很直观地从源代码得到测试用例,无须细分每条判定表达式。 【缺点】 :由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件是无法测试的。如在多分支的逻辑运算中无法全面的考虑。语句覆盖是最弱的逻辑覆盖。,语句覆盖总结,判定覆盖 Decision Coverage,判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。 判定覆盖又称为分支覆盖。 对于图例,如果选择路径L1和L2,就可得满足要求的测试用例:,例,(A1) & (B=0),(A=2)

7、 | (X1),X=X/A,X=X+1,真,T,假,F,a,b,d,c,e,开始,判定覆盖,【(2, 0, 4),(2, 0, 3)】覆盖 ace【L1】 【(1, 1, 1),(1, 1, 1)】覆盖 abd【L2】,(A=2) and (B=0) or(A1) and (B=0) and (X/A1),判定覆盖,not (A1) and not (A=2) and not (X1)or not (B=0) and not (A=2) and not (X1),判定覆盖,如果选择路径L3和L4,还可得另一组可用的测试用例: 【(2, 1, 1),(2, 1, 2)】覆盖 abe【L3】 【(

8、3, 0, 3),(3, 1, 1)】覆盖 acd【L4】,not (A1) and (X1) or not (B=0) and(A=2) or not (B=0) and (X1),(A1) and (B=0) and not (A=2) and not (X/A1),判定覆盖,说明:以上仅考虑了两出口的判断,我们还应把判定覆盖准则扩充到多出口判断(如Case语句)的情况。因此,判定覆盖更为广泛的含义应该是使得每一个判定获得每一种可能的结果至少一次。,判定覆盖,【优点】:判定覆盖具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。 【缺

9、点】:往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。判定覆盖仍是弱的逻辑覆盖。,条件覆盖Condition Coverage,在设计程序中,一个判定语句是由多个条件组合而成的复合判定,判定(a)&(b|c)包含了三个条件:a,b和c。为了更彻底的实现逻辑覆盖,可以采用条件覆盖。,条件覆盖Condition Coverage,条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。 在图例中,我们事先可对所有条件的取值加以标记。,条件覆盖Condition Coverage,例如

10、:对于第一个判断,条件 A1 取真为 ,取假为 条件 B0 取真为 ,取假为,对于第二个判断:条件A2 取真为 ,取假为 条件X1 取真为 ,取假为,例,(A1) & (B=0),(A=2) | (X1),X=X/A,X=X+1,真,T,假,F,a,b,d,c,e,开始,条件覆盖Condition Coverage,测试用例 覆盖分支 条件取值 【(2, 0, 4),(2, 0, 3)】 L1(c, e) 【(1, 0, 1),(1, 0, 1)】 L2(b, d) 【(2, 1, 1),(2, 1, 2)】 L3(b, e),条件覆盖,或 测 试 用 例 覆盖分支 条件取值 【(1, 0,

11、3),(1, 0, 4)】 L3(b, e) 【(2, 1, 1),(2, 1, 2)】 L3(b, e),条件覆盖,【优点】:增加了对条件判定情况的测试,增加了测试路径。 【缺点】:条件覆盖不一定包含判定覆盖。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。,判定条件覆盖CDC,判定/条件覆盖实际上是将判定覆盖和条件覆盖结合起来的一种方法, 就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判定的可能结果也至少出现一次。 设计测试用例覆盖4个条件的8种取值以及4个判定分支。,例,(A1) & (B=0),(A=2) | (X1),X=X/A,X=X

12、+1,真,T,假,F,a,b,d,c,e,开始,判定条件覆盖CDC,测 试 用 例 覆盖分支 条件取值 【(2, 0, 4),(2, 0, 3)】L1(c, e) 【(1, 1, 1),(1, 1, 1)】L2(b, d),(A=2) and (B=0) or(A1) and (B=0) and (X/A1),not (A1) and not (A=2) and not (X1)or not (B=0) and not (A=2) and not (X1),分析:从表面上看,判定/条件覆盖测试了各个判定中的所有条件的取值,但实际上,编译器在检查含有多个条件的逻辑表达式时,某些情况下的某些条件将会被其它条件所掩盖。因此,判定/条件覆盖也不一定能够完全检查出逻辑表达式中的错误。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号