白盒测试—综合应用实例课件.ppt

上传人(卖家):晟晟文业 文档编号:4887960 上传时间:2023-01-21 格式:PPT 页数:40 大小:362KB
下载 相关 举报
白盒测试—综合应用实例课件.ppt_第1页
第1页 / 共40页
白盒测试—综合应用实例课件.ppt_第2页
第2页 / 共40页
白盒测试—综合应用实例课件.ppt_第3页
第3页 / 共40页
白盒测试—综合应用实例课件.ppt_第4页
第4页 / 共40页
白盒测试—综合应用实例课件.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、SWPUSWPU把程序看成装在一个透明的白盒子里,程序的结构和处理呈现过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。第第4章章 白盒测试方法白盒测试方法SWPUSWPU 2路径分析测试路径分析测试3分支条件测试、循环测试分支条件测试、循环测试4其它测试类型其它测试类型5主主要要内内容容综合测试实例综合测试实例 6黑盒测试与白盒测试黑盒测试与白盒测试1逻辑覆盖测试逻辑覆盖测试SWPUSWPU白盒测试的常用方法白盒测试的常用方法逻辑覆盖逻辑覆盖路径分析路径分析测试测试 循环、条循环、条件分支件分支SWPUSWPU白盒测试的基本概念白盒测试的基本概念v

2、什么是白盒测试什么是白盒测试 把程序看成装在一把程序看成装在一个透明的白盒子里,个透明的白盒子里,程序的结构和处理程序的结构和处理过程完全可见,按过程完全可见,按照程序的内部逻辑照程序的内部逻辑测试程序,以检查测试程序,以检查程序中的每条通路程序中的每条通路是否都能按照预先是否都能按照预先要求正确工作。要求正确工作。SWPUSWPUv (1)在测试中,应尽量先使用工具进行静态结构分析。v (2)测试中可采取先静态后动态的组合方式:先进行静态结构分析、代码检查,再进行覆盖率测试。白盒测试应用策略白盒测试应用策略v (3)利用静态分析的结果作为导引,通过代码检查和动态测试的方式对静态发现结果进行进

3、一步的确认,使测试工作更为有效。SWPUSWPU白盒测试应用策略白盒测试应用策略v(4)覆盖率测试是白盒测试的重点,一般可使用基本路径测试法达到语句覆盖标准;对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率。v (5)在不同的测试节点,测试的侧重点不同:在单元测试阶段,以代码检查、逻辑覆盖为主;在集成测试阶段,需要增加静态结构分析等;在系统测试阶段,应根据黑盒测试的结果,采取相应的白盒测试。SWPUSWPU面对对象的白盒测试面对对象的白盒测试v 类测试一般有两种主要的方式:功能性测试和结构性测试,即对应于传统结构化软件的黑盒测试和白盒测试。v 结构性测试对类中的方法进行测试,它把类作为

4、一个单元来进行测试。测试分为两层:第一层考虑类中各独立方法的代码;第二层考虑方法之间的相互作用。v 对于一个类的测试要保证类在其状态的代表集上能够正确工作,构造函数的参数选择以及消息序列的选择都要满足这一准则 SWPUSWPU面对对象的白盒测试面对对象的白盒测试v 方法的单独测试方法的单独测试 结构性测试的第一层是考虑各独立的方法,这可以与过程的测试采用同样的方法,两者之间最大的差别在于方法改变了它所在实例的状态,这就要取得隐藏的状态信息来估算测试的结果,传给其它对象的消息被忽略,而以桩来代替,并根据所传的消息返回相应的值,测试数据要求能完全覆盖类中代码,可以用传统的测试技术来获取。SWPUS

5、WPU面对对象的白盒测试面对对象的白盒测试v 方法的综合测试方法的综合测试 第二层要考虑一个方法调用本对象类中的其它方法和从一个类向其它类发送信息的情况。单独测试一个方法时,只考虑其本身执行的情况,而没有考虑动作的顺序问题,测试用例中加入了激发这些调用的信息,以检查它们是否正确运行了。对于同一类中方法之间的调用,一般只需要极少甚至不用附加数据,因为方法都是对类进行存取,故这一类测试的准则是要求遍历类的所有主要状态。SWPUSWPU运用白盒测试方法综合实例运用白盒测试方法综合实例v运用白盒测试技术设计下面代码的测试用例书P85SWPUSWPU参考答案参考答案 v设计步骤设计步骤n构造被测代码的控

6、制流图,运用基本路径测试方法设计相关测试用例n针对代码中的各个逻辑条件,运用分支-条件测试方法设计相关测试用例n针对代码中的循环,运用循环测试方法设计相关测试用例n合并前三步所得结果n在第四步的基础上,根据被测对象的特点增加相关测试用例SWPUSWPU以复合条件为节点以复合条件为节点P79(方案(方案1)15-171920212 2-232425262729303132SWPUSWPU以简单条件为节点以简单条件为节点P80(方案(方案2)11121312345678910111213SWPUSWPU环复杂度(方案环复杂度(方案1)v环复杂度环复杂度闭合区域的数目=4二值判定节点个数+1 =3+

7、1=4边的数目-节点的数目+2 =14-12+2=415-171920212 2-232425262729303132SWPUSWPU基本路径(方案基本路径(方案1)v基本路径和相应的测试用例p15-17-19-29-31-32(30-32?)测试用例:测试输入=(-999),0,360)预期结果=-999p15-17-19-20-21-24-19-29-31-32(30-32?)测试用例:测试输入=(-10,-999),0,360),预期结果=-99915-171920212 2-232425262729303132SWPUSWPU基本路径基本路径(方案方案1)v基本路径和相应的测试用例p1

8、5-17-19-20-21-22-23-25-26-27-19-29-30-32测试用例:测试输入=(180,-999),0,360),预期结果=18015-171920212 2-232425262729303132SWPUSWPU环复杂度(方案环复杂度(方案2)v环复杂度环复杂度闭合区域的数目=6二值判定节点个数+1 =5+1=6边的数目-节点的数目+2 =17-13+2=612345678910111213SWPUSWPU基本路径(方案基本路径(方案2)v基本路径和相应的测试用例p1-2-10-12-13(10-11?)测试用例:测试输入=(-999),0,360)预期结果=-999p1

9、-2-3-10-11-13p测试用例p测试输入=(0.100,-999),0,360),1.预期结果=5012345678910111213SWPUSWPU基本路径基本路径(方案方案2)v基本路径和相应的测试用例p1-2-3-4-5-6-7-9-2-10-11-13测试用例:测试输入=(180,-999),0,360),预期结果=180p1-2-3-4-5-8-2-10-12-13测试用例:测试输入=(-10,-999),0,360),预期结果=-99912345678910111213SWPUSWPU基本路径基本路径(方案方案2)v基本路径和相应的测试用例p1-2-3-4-5-6-8-2-1

10、0-12-13p测试用例:p测试输入=(380,-999),0,360),5.预期结果=-99912345678910111213SWPUSWPU分支分支-条件测试条件测试v需测试的逻辑条件需测试的逻辑条件nDo while(valuei!=-999)&(inputNumber=minimum)&(valuei 0SWPUSWPU分支分支-条件测试条件测试v分支和相应的测试用例分支和相应的测试用例v相应的测试用例p测试输入=(180,-999),0,360),预期结果=180p测试输入=(-999),0,360),预期结果=-9991.测试输入=(0.100,-999),0,360),预期结果

11、=50SWPUSWPU分支分支-条件测试条件测试v分支和相应的测试用例分支和相应的测试用例P89v相应的测试用例p测试输入=(180,-999),0,360),预期结果=180p测试输入=(-10,-999),0,360),预期结果=-9991.测试输入=(380,-999),0,360),预期结果=-999SWPUSWPU分支分支-条件测试条件测试v分支和相应的测试用例分支和相应的测试用例P89v相应的测试用例p测试输入=(180,-999),0,360),预期结果=1801.测试输入=(-999),0,360),预期结果=-999SWPUSWPU循环测试循环测试v需测试的循环条件需测试的循

12、环条件Do while(valuei!=-999)&(inputNumber100)n直接跳过循环体 测试用例:测试输入=(-999),0,360),预期结果=-999n只执行一遍循环体 测试用例:测试输入=(180,-999),0,360),预期结果=180n连续执行两遍循环体 测试用例:测试输入=(10,20,-999),0,360),预期结果=15SWPUSWPU循环测试循环测试v需测试的循环条件需测试的循环条件Do while(valuei!=-999)&(inputNumber100)n如果循环次数为n,执行m(m n)遍循环体 测试用例:测试输入=(0.49,-999),0,360

13、),预期结果=24.5n如果循环次数为n,那么执行n-1遍循环体 测试用例:测试输入=(0.98,-999),0,360),预期结果=49.0n如果循环次数为n,那么执行n遍循环体 测试用例:测试输入=(0.99,-999),0,360),预期结果=49.5SWPUSWPU循环测试循环测试v需测试的循环条件需测试的循环条件Do while(valuei!=-999)&(inputNumber1&y1)then2 z=z*23 If(x=3|z1)then4 y+;运用逻辑覆盖的方法设计测试用例组,如下表所示。实例设计实例设计实例实例2 SWPUSWPUSWPUSWPU运用路径分析的方法测试程序

14、程序4-5:1 main()2 3 int flag,t1,t2,a=0,b=0;4 scanf(“%d,%d,%dn”,&flag,&t1,&t2);5 while(flag0)6 7 a=a+1;8 if(t1=1)9 then 10 11 b=b+1;12 flag=0;13 实例设计实例设计实例实例3 14 else 15 16 if(t2=1)17then b=b-1;18else a=a-2;19flag-;20 2122 printf(“a=%d,b=d%n”,a,b);23 SWPUSWPU图4-8 程序4-5的流程图 实例实例3步骤步骤1 1 main()2 3 int fl

15、ag,t1,t2,a=0,b=0;4 scanf(“%d,%d,%dn”,&flag,&t1,&t2);5 while(flag0)6 7 a=a+1;8 if(t1=1)9 then 10 11 b=b+1;12 flag=0;14 else 15 16 if(t2=1)17 then b=b-1;18 else a=a-2;19 flag-;20 21 22 printf(“a=%d,b=d%n”,a,b);23 程序的流程图如图4-8所示:SWPUSWPU2.程序的控制流图如图4-9所示,其中R1、R2、R3和R4代表控制流图的4个区域。R4代表的是控制流图外的区域,也算作控制流图的一个

16、区域。图4-9 程序4-5的控制流图 实例实例3步骤步骤2SWPUSWPU3.运用路径分析的方法设计测试用例组。(1)根据程序环形复杂度的计算公式,求出程序路径集合中的独立路径数目。公式1:V(G)=11-9+2,其中11是控制流图G中边的数量,9是控制流图中节点的数目。公式2:V(G)=3+1,其中3是控制流图G中判断节点的数目。公式3:V(G)=4,其中4是控制流图G中区域的数目。因此,控制流图G的环形复杂度是4。(2)根据上面环形复杂度的计算结果,源程序的基本路径集合中有4条独立路径:路径1:5-22路径2:5-7,8-11,12-21-5-22路径3:5-7,8-16-17-19-21

17、-5-22路径4:5-7,8-16-18-19-21-5-22(3)设计测试用例组11如表4-11所示。根据上述4条独立路径设计出了这组测试用例,其中的4组数据能够遍历各个独立路径,也就满足了路径分析测试的要求。需要注意的是,对于源程序中的循环体,测试用例组11中的输入数据使其执行零次或一次。实例实例3步骤步骤3 SWPUSWPU表4-11 测试用例组11 SWPUSWPU小结小结 白盒测试是基于被测程序的源代码设计测试用例的测试方法。常见的白盒测试方法有逻辑覆盖测试和路径分析测试两大类。在逻辑覆盖测试中,按照覆盖策略由弱到强的严格程度,介绍了语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件

18、组合覆盖和路径覆盖六种覆盖测策略。l 语句覆盖:每个语句至少执行一次。l 判定覆盖:在语句覆盖的基础上,每个判定的每个分支至少执行一次。l 条件覆盖:在语句覆盖的基础上,使每个判定表达式的每个条件都取到各种可能的结果。l 判定/条件覆盖:即判定覆盖和条件覆盖的交集。l 条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出现一次。l 路径覆盖:每条可能的路径都至少执行一次,若图中有环,则每个环至少经过一次。在路径分析测试中,介绍了独立路径测试和Z路径覆盖测试两种常用方法。SWPUSWPU小结小结 l 路径覆盖:每条可能的路径都至少执行一次,若图中有环,则每个环至少经过一次。在路径分析测试中,

19、介绍了独立路径测试和Z路径覆盖测试两种常用方法。l 独立路径测试方法把覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次,对程序中所有独立路径进行测试。它是在程序控制流图的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,设计测试用例的方法。设计出的测试用例要保证程序的每一个可执行语句至少要执行一次。l Z路径覆盖测试是指采用简化循环的方法进行路径覆盖测试。被测源程序中的循环体执行零次或一次。最后,介绍了其他一些白盒测试方法。循环测试是一种着重循环结构有效性测试的测试方法。变异测试是一种故障驱动测试,针对某一类特定程序故障进行的测试。程序插装是借助于在被测程序中设置断点或打印语句来进行测试的方法,在执行测试的过程中可以了解一些程序的动态信息。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(白盒测试—综合应用实例课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|