(精品)第4章(1) 白盒测试方法1-逻辑覆盖法.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(精品)第4章(1) 白盒测试方法1-逻辑覆盖法.ppt》由会员分享,可在线阅读,更多相关《(精品)第4章(1) 白盒测试方法1-逻辑覆盖法.ppt(66页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、软件测试第4章 白盒测试方法 逻辑覆盖法目 录白盒测试方法的引入白盒测试方法的引入1语句覆盖语句覆盖2判定覆盖判定覆盖3条件覆盖条件覆盖4判定条件覆盖判定条件覆盖5条件组合覆盖条件组合覆盖6路径覆盖路径覆盖7知识回顾软件测试技术分类:软件测试技术分类:按面向测试对象粒度(按开发阶段)分:按面向测试对象粒度(按开发阶段)分:按测试方法分:按测试方法分:按运行状态分:按运行状态分:什么是测试用例?由哪些部分组成?什么是测试用例?由哪些部分组成?这个程序可以用来求什么?这个程序可以用来求什么?n k=i;k=i;nfor(j=i+1;j=n;j+)for(j=i+1;j=n;j+)n if(Aj A
2、k)k=j;if(Aj 1)A1)&(B=0(B=0)(A=2)A=2)|(X1(X1)X=X/AX=X/AX=X+1X=X+1真真真真T T假假假假F Fabdce开始例 子L1L1L1L1:(a a a a c c c c e e e e)=(A1)(A1)(A1)(A1)and and and and(B=0)(B=0)(B=0)(B=0)and and and and (A=2)(A=2)(A=2)(A=2)or or or or(X/A1)(X/A1)(X/A1)(X/A1)=(A1)=(A1)=(A1)=(A1)andandandand(B=0)(B=0)(B=0)(B=0)and
3、andandand(A=2)(A=2)(A=2)(A=2)orororor (A1)(A1)(A1)(A1)andandandand(B=0)(B=0)(B=0)(B=0)andandandand(X/A1)(X/A1)(X/A1)(X/A1)=(A=2)(A=2)(A=2)(A=2)andandandand(B=0)(B=0)(B=0)(B=0)orororor (A1)(A1)(A1)(A1)andandandand(B=0)(B=0)(B=0)(B=0)andandandand(X/A1)(X/A1)(X/A1)(X/A1)例 子L2L2L2L2:(a(a(a(a b b b b d)d
4、)d)d)=notnotnotnot(A1)(A1)(A1)(A1)andandandand(B=0)(B=0)(B=0)(B=0)and and and and not not not not(A=2)(A=2)(A=2)(A=2)orororor(X1)(X1)(X1)(X1)=not not not not(A1)(A1)(A1)(A1)or notor notor notor not(B=0)(B=0)(B=0)(B=0)and and and and not not not not(A=2)(A=2)(A=2)(A=2)and notand notand notand not(X1)
5、(X1)(X1)(X1)=notnotnotnot(A1)(A1)(A1)(A1)and notand notand notand not(A=2)(A=2)(A=2)(A=2)and notand notand notand not(X1)(X1)(X1)(X1)or or or or notnotnotnot(B=0)(B=0)(B=0)(B=0)andandandand notnotnotnot(A=2)(A=2)(A=2)(A=2)and notand notand notand not(X1)(X1)(X1)(X1)例 子L3 L3 L3 L3:(a(a(a(a b b b b e)
6、e)e)e)=not not not not(A1)(A1)(A1)(A1)andandandand(B=0)(B=0)(B=0)(B=0)and and and and (A=2)(A=2)(A=2)(A=2)orororor(X1)(X1)(X1)(X1)=not not not not(A1)(A1)(A1)(A1)or notor notor notor not(B=0)(B=0)(B=0)(B=0)and and and and (A=2)(A=2)(A=2)(A=2)orororor(X1)(X1)(X1)(X1)=notnotnotnot(A1)(A1)(A1)(A1)andan
7、dandand(A=2)(A=2)(A=2)(A=2)or or or or notnotnotnot(A1)(A1)(A1)(A1)andandandand (X1)(X1)(X1)(X1)orororor notnotnotnot(B=0)(B=0)(B=0)(B=0)and and and and(A=2)(A=2)(A=2)(A=2)orororor notnotnotnot(B=0)(B=0)(B=0)(B=0)andandandand(X1)(X1)(X1)(X1)例 子L4L4L4L4:(a(a(a(a c c c c d)d)d)d)=(A1)(A1)(A1)(A1)andan
8、dandand(B=0)(B=0)(B=0)(B=0)andandandand not not not not (A=2)(A=2)(A=2)(A=2)orororor(X/A1)(X/A1)(X/A1)(X/A1)=(A1)(A1)(A1)(A1)and and and and(B=0)(B=0)(B=0)(B=0)and notand notand notand not(A=2)(A=2)(A=2)(A=2)andandandand notnotnotnot(X/A1)(X/A1)(X/A1)(X/A1)语句覆盖n语句覆盖就是设计若干个测试用例,语句覆盖就是设计若干个测试用例,运行被测程序
9、,使得运行被测程序,使得每一可执行语句每一可执行语句至少执行一次至少执行一次。n在例图中,正好所有的可执行语句都在例图中,正好所有的可执行语句都在在路径路径L1L1上,所以选择上,所以选择路径路径 L1L1设计设计测试用例,就可以覆盖所有的可执行测试用例,就可以覆盖所有的可执行语句。语句。语句覆盖n测试用例的设计格式如下:测试用例的设计格式如下:测试用例的设计格式如下:测试用例的设计格式如下:【输入的【输入的【输入的【输入的(A,B,X)A,B,X)A,B,X)A,B,X),输出的输出的输出的输出的(A,B,X)A,B,X)A,B,X)A,B,X)】n为图例设计满足为图例设计满足为图例设计满足
10、为图例设计满足语句覆盖语句覆盖语句覆盖语句覆盖的测试用例是的测试用例是的测试用例是的测试用例是:【(2,0,4)(2,0,4)(2,0,4)(2,0,4),(2,0,3)(2,0,3)(2,0,3)(2,0,3)】覆盖覆盖 a-c-ea-c-e【L1L1】(A=2)(A=2)andand(B=0)(B=0)oror (A1)(A1)andand(B=0)(B=0)andand (X/A1)(X/A1)(A1)(A1)&(B=0)(B=0)(A=2)(A=2)|(X1)(X1)X=X/AX=X/AX=X+1X=X+1真真真真真真真真假假假假F Fabdce开始语句覆盖语句覆盖率语句覆盖率l已执行
11、的可执行语句占程序中可执已执行的可执行语句占程序中可执行语句总数的百分比行语句总数的百分比复杂的程序不可能达到语句的完全覆复杂的程序不可能达到语句的完全覆盖盖语句覆盖率越高越好语句覆盖率越高越好语句覆盖的优点检查所有语句检查所有语句结构简单的代码的测试效果较好结构简单的代码的测试效果较好容易实现自动测试容易实现自动测试代码覆盖率高代码覆盖率高 如果是程序块覆盖,则不涉及程序块中如果是程序块覆盖,则不涉及程序块中的源代码的源代码 语句覆盖不能检查出的错误逻辑运算(逻辑运算(&、|)错误)错误 判定的第一个运算符判定的第一个运算符“&”错写成错写成“|”,或第二个运算符,或第二个运算符“|”错写成
12、错写成“&”,这时使用上述的测试用例仍然可这时使用上述的测试用例仍然可以达到以达到100%100%的语句覆盖的语句覆盖.循环语句错误循环语句错误l循环次数错误循环次数错误l跳出循环条件错误跳出循环条件错误语句覆盖不能检查出的错误n循环语句例子循环语句例子for(i=0;i10;ifor(i=0;i3)while(x3)statement;statement;for(i=0;i=10;i+)for(i=0;i3&x3&x1)(A1)&(B=0)(B=0)(A=2)(A=2)|(X1)(X1)X=X/AX=X/AX=X+1X=X+1真真真真T T假假假假F Fabdce开始判定覆盖n【(2,0,4
13、)(2,0,4),(2,0,3)(2,0,3)】覆盖覆盖 aceace【L1L1】【(1,1,1)(1,1,1),(1,1,1)(1,1,1)】覆盖覆盖 abdabd【L2L2】(A=2)(A=2)andand(B=0)(B=0)oror (A1)(A1)andand(B=0)(B=0)andand(X/A1)(X/A1)判定覆盖notnotnotnot(A1)(A1)(A1)(A1)and and and and notnotnotnot(A=2)(A=2)(A=2)(A=2)and and and and notnotnotnot(X1)(X1)(X1)(X1)or or or or no
14、tnotnotnot(B=0)(B=0)(B=0)(B=0)andandandand notnotnotnot(A=2)(A=2)(A=2)(A=2)andandandand notnotnotnot(X1)(X1)(X1)(X1)判定覆盖n n如果选择路径如果选择路径如果选择路径如果选择路径L3L3L3L3和和和和L4L4L4L4,还可得另一组可用的测试用例还可得另一组可用的测试用例还可得另一组可用的测试用例还可得另一组可用的测试用例:【(2,1,1)(2,1,1)(2,1,1)(2,1,1),(2,1,2)(2,1,2)(2,1,2)(2,1,2)】覆盖】覆盖】覆盖】覆盖 abeabeab
15、eabe【L3L3L3L3】【(3,0,3)(3,0,3)(3,0,3)(3,0,3),(3,1,1)(3,1,1)(3,1,1)(3,1,1)】覆盖覆盖覆盖覆盖 acdacdacdacd【L4L4L4L4】not not(A1)(A1)andand(X1)(X1)or or notnot(B=0)(B=0)andand (A=2)(A=2)or or notnot(B=0)(B=0)andand(X1)(X1)(A1)(A1)and and(B=0)(B=0)and notand not(A=2)(A=2)andand notnot(X/A1)(X/A1)判定覆盖16352789410n说明
16、:说明:以上仅考虑了两出口的判断,我们还应把判定覆盖以上仅考虑了两出口的判断,我们还应把判定覆盖准则扩充到准则扩充到多出口判断多出口判断(如(如CaseCase语句)的情况。因此,判语句)的情况。因此,判定覆盖更为广泛的含义应该是使得每一个判定获得每一种定覆盖更为广泛的含义应该是使得每一个判定获得每一种可能的结果至少一次。可能的结果至少一次。判定覆盖n【优点优点】:判定覆盖具有比语句覆盖更强的测试能力。同样判定覆盖:判定覆盖具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。用例
17、。n【缺点缺点】:往往大部分的判定语句是由多个逻辑条件组合而成,若仅:往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而仅判断其整个最终结果,而忽略每个条件的取值忽略每个条件的取值情况,必然会遗漏部情况,必然会遗漏部分测试路径。判定覆盖仍是分测试路径。判定覆盖仍是弱弱的逻辑覆盖。的逻辑覆盖。条件覆盖Condition Coveragen在设计程序中,一个判定语句是由多个在设计程序中,一个判定语句是由多个条件组合而成的复合判定,判定条件组合而成的复合判定,判定(a)&(b|c)(a)&(b|c)包含了三个条件:包含了三个条件:a,ba,b和和c c。为了更彻底的实现逻辑覆
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品第4章1 白盒测试方法1-逻辑覆盖法 精品 测试 方法 逻辑 覆盖
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内