收藏 分销(赏)

3-白盒测试(一).pptx

上传人:仙人****88 文档编号:14761393 上传时间:2026-11-15 格式:PPTX 页数:50 大小:1.49MB 下载积分:10 金币
下载 相关
3-白盒测试(一).pptx_第1页
第1页 / 共50页
3-白盒测试(一).pptx_第2页
第2页 / 共50页


点击查看更多>>
资源描述
Click to edit master title style,Click to edit master text styles,Second level,Third level,Fourth level,Fifth level,#,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,3/9/2017,#,功能测试及工具,焦忭忭,2017.3,第,三,讲 白盒测试,什么是白盒测试?,逻辑覆盖,路径测试,1.,什么,是白盒测试,选题依据,软件测试的目标、活动和原则,寻找错误,增强正确性和满意度,科学有效和经济性,预防性,风险分析,尽量使用工具,测试计划,测试设计,测试执行,测试记录,测试分析维护,测试原则,寻找目标,测试活动,选题依据,软件测试的方法,软件测试的基本方法,静态测试,静态分析,评审,动态测试,白盒测试,黑盒测试,语句覆盖,条件覆盖,判定覆盖,路径测试,等价类划分,边界值分析,判定表法,针对不同阶段的测试,单元测试,验收测试,回归测试,系统测试,集成测试,确认测试,针对特性的测试,易用性测试,兼容性测试,安全性测试,性能测试,稳定性测试,功能测试,特殊的测试方法,组合测试,随机测试,探索性测试,基于故障的测试,选题依据,X=2,X=2,Y=4,Y=4,Y=2X,黑盒,白盒,选题依据,白盒测试的定义,白盒测试,是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法,又称为结构测试或基于代码的测试。,选题依据,穷举路径测试举例,A,B,该程序包含一个迭代,20,次的,DO,循环,在,DO,循环中,包含一系列嵌套的,IF,语句。,程序有,5,条路径,循环次数,1,),&,(,B=0,),X=X/A,;,if,(,A=2,),|,(,X1,),X=X+1,;,案例分析,X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,选题依据,案例分析,X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,将里面的判定条件和过程记录如下:,判定条件,MA1 and B=0,判定条件,N=A=2 or X1,选题依据,案例分析,将里面的判定条件和过程记录如下:,判定条件,MA1 and B=0,判定条件,N=A=2 or X1,由这个流程图可以看出,该程序模块有4条不同的路径:,P1:(,a-c-e,),X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,选题依据,案例分析,将里面的判定条件和过程记录如下:,判定条件,MA1 and B=0,判定条件,N=A=2 or X1,由这个流程图可以看出,该程序模块有4条不同的路径:,P1:(,a-c-e,),P2:(,a-c-d,),X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,选题依据,案例分析,将里面的判定条件和过程记录如下:,判定条件,MA1 and B=0,判定条件,N=A=2 or X1,由这个流程图可以看出,该程序模块有4条不同的路径:,P1:(,a-c-e,),X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,P2:(,a-c-d,),P,3,:(,a-,b,-,e,),选题依据,案例分析,将里面的判定条件和过程记录如下:,判定条件,MA1 and B=0,判定条件,N=A=2 or X1,由这个流程图可以看出,该程序模块有4条不同的路径:,P1:(,a-c-e,),X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,P2:(,a-c-d,),P,3,:(,a-,b,-,e,),P,4,:(,a-,b,-,d,),选题依据,语句覆盖:程序中的每一条语句至少执行一次,X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,X=2,X=3,测试用例,判定,M,A1 and B=0,的取值,T,T,判定,N,A=2 or X1,的取值,P1:(a-c-e),输入,A=2,B=0,X=4,预期,输,出,A=2,B=0,X=,3,覆盖路径,优点,检查所有语句,结构简单的代码的测试效果较好,容易实现自动测试,代码覆盖率高,如果是程序块覆盖,则不用考虑程序块中的源代码,缺点,无法检查出条件语句错误,如“,A1&B=0,”A0&B=0,”,无法检查出逻辑运算错误,(&,),如“,A1&B=0,”A1,B=0,”,最弱的逻辑覆盖,语句覆盖,选题依据,判定覆盖:程序中每个判定的真假分支至少执行一次,X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,测试用例:,序号,判定,M,的取值,判定,N,的取值,覆盖路径,输入,预期,输出,1,T,T,P1:(a-c-e),A=2,B=0,X=4,A=2,B=0,X=3,判定,MA1 and B=0,的取值,:,T F,判定,N,A=2 or X1,的取值,:,T F,2,F,F,P,4,:(a-b-,d,),A=1,B=1,X=1,A=1,B=1,X=1,选题依据,思考:,思考一:,除了上边的测试用例,,还有,其他,的判定覆盖测试用例吗?如果有,请设计相应的测试用例。,思考二:判定覆盖是否包含语句覆盖?,X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,优点,判定覆盖要比语句覆盖查错能力强一些,执行了分支覆盖,实际也就执行了语句覆盖,缺点,不能查出条件语句错误,不能查出逻辑运算错误,判定覆盖,选题依据,条件覆盖:,不仅每一个语句至少执行一次,使得判定中的每个条件获得各种可能的结果。,X=X/A,(A1)&,(B=0),X=X+1,(A=2),|,(X1),Y,Y,N,N,a,b,d,c,e,M,N,测试用例:,序号,取值,条件,具体取值条件,覆盖路径,输入,预期,输出,1,T,1,T2,T3,T4,A1,B=0,A=2,X1,P1:(a-c-e),A=2,B=0,X=4,A=2,B=0,X=3,条件,:A1,A1,X=,1,根据,条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示,。,2,A=1,B!=0,A,!=2,X1,B=0,A=2,X1,P1:(a-c-e),A=1,B=1,X=1,A=1,B=1,X=1,F1,F2,F3,F4,A=1,B!=0,A!=2,X1,B=0,2,),A1,B0,3,),A1,B=0 4,),A1,B0,5,),A=2,X1 6,),A=2,X1,7,),A2,X1 8,),A2,X1,测试用例输入,输出,覆盖条件取值,覆盖条件组合,覆盖路径,A=2,B=0,X=4,A=2,B=0,X=3,T1,T2,T3,T4,1,5,P1:(a-c-e),A=2,B=1,X=1,A=2,B=1,X=2,T1,F1,T2,F1,2,6,P3:(a-b-e),A=1,B=0,X=3,A=1,B=0,X=4,F1,T2,F3,T4,3,7,P3:(a-b-e),A=1,B=1,X=1,A=1,B=1,X=1,F1,F2,F3,F4,4,8,P4:(a-b-d),条件组合覆盖,条件组合覆盖,优点,能够检查所有的条件错误,缺点,满足条件组合覆盖要求的测试用例不一定能使程序中的每条路径都执行到,路径覆盖,要求设计足够多的测试用例,使得程序中所有的路径都至少执行一次,。,测试用例输入,输出,覆盖条件取值,覆盖条件组合,覆盖路径,A=2,B=0,X=4,A=2,B=0,X=3,T1,T2,T3,T4,1,5,P1:(a-c-e),A=1,B=0,X=1,A=1,B=0,X=1,T1,F1,T2,F1,2,6,P,2,:(a-b-d),A=2,B=1,X=1,A=2,B=1,X=2,F1,T2,F3,T4,3,7,P3:(a-b-e),A=3,B=0,X=1,A=3,B=0,X=2,F1,F2,F3,F4,4,8,P,4,:(a-c-d),逻辑覆盖,路径,覆盖,语句覆盖,判定覆盖,条件覆盖,判定,/,条件覆盖,条件组合覆盖,路径覆盖,逻辑覆盖测试方法,逻辑覆盖度,条件,组合覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,满足条件组合覆盖级别的测试用例也是满足,_,级别的逻辑覆盖;针对布尔表达式,A&(B|C),执行逻辑覆盖测试,测试用例至少需要,_,种组合才能满足条件组合覆盖的要求。,逻辑覆盖,练习,3.,路径测试,路径测试,概念,根据程序的逻辑控制所产生的路径进行测试用例设计的方法,。,主要方法有,:基本,路径,测试法。,它是从一个程序的入口开始,执行所经历的各个语句的完整过程,。,完成路经测试的理想情况是做到路径覆盖,。,前导概念:控制流,图,程序流程图又称框图,是我们最熟悉,也是最容易理解的一种程序控制结构的图形表示。在这种图上的框里面常常标明了处理要求或者条件,但是,这些标注在做路径分析时是不重要的。,为了更加,突出控制流的结构,需要对程序流程图做一些简化,这种简化了的程序流程图叫做控制流图。,控制流图,在控制流图中只有两种,图形符号,:,节点:以标有编号的圆圈表示。,它代表了程序流程图中矩形框表示的处理、菱形表示的两个到多个出口判断以及两条到多条流线相交的汇合点。,控制流线或弧:以箭头表示。,它与程序流程图中的流线是一致的,表明了控制的顺序。为了方便讨论,控制流线通常标有名字,如图中所标的,a,、,b,、,c,等。,程序流程图 控制流图,控制流图,化简:若在一个节点序列中没有分支,则可以把这个序列的节点都合并成一个节点。,控制流,图,基本路径测试是,McCabe,提出的一种“白盒”测试方法,计算程序的圈复杂度,用该复杂度为指南定义执行路径的基本集合,从该基本集合中导出的测试用例可以保证程序中的每条语句被覆盖,而且每个条件在执行时都分别取真、假两种值,基本路径,测试法,1)根据过程设计结果画出相应的流图,2)计算控制流图的圈复杂度,3)确定线性独立路径的基本集合,4)设计可强制执行基本集合中每条路径的测试用例,基本路径测试步骤,请,看以下代码,它由,C+,语言书写。把它转化成控制流图,并使用基本路径测试法为变量,temp,设计测试用例,使之满足基本路径覆盖要求。,基本路径测试实例,void ReadPara(CString temp),if(temp=),m_oper.SetCurSel(0);,else,if(temp=),m_oper.SetCurSel(1);,else,if,(temp=),m_oper.SetCurSel(2);,else,if,(temp=),m_oper.SetCurSel(3,);,else,if,(temp=”,),m_oper.SetCurSel(0),Path 2,ReadPara,(”,”,),m_oper.SetCurSel(1),Path 3,ReadPara,(”,=”,),m_oper.SetCurSel(2),Path 4,ReadPara,(”,”,),m_oper.SetCurSel(3),Path 5,ReadPara,(”,=”,),m_oper.SetCurSel(4),Path 6,ReadPara,(”,+”,),m_oper.SetCurSel(5),5.2.2,路径测试,基本,路径测试实例,小结,逻辑覆盖,路经,测试,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服