白盒测试和黑盒测试.ppt

白盒测试和黑盒测试.ppt

ID:51658135

大小:928.50 KB

页数:98页

时间:2020-03-27

白盒测试和黑盒测试.ppt_第1页
白盒测试和黑盒测试.ppt_第2页
白盒测试和黑盒测试.ppt_第3页
白盒测试和黑盒测试.ppt_第4页
白盒测试和黑盒测试.ppt_第5页
资源描述:

《白盒测试和黑盒测试.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章白盒和黑盒测试方法本章主讲内容白盒测试方法语句覆盖;分支覆盖;条件测试;分支条件测试;分支条件组合测试;条件确定测试路径覆盖问题概述白盒测试方法1.回顾一下单元测试主要用的是白盒测试方法。那什么是白盒测试?为什么要用白盒测试?2.白盒测试包括哪些方法?3.详细讲解各个方法!覆盖如果所有软件错误的根源都可以追溯到某个唯一原因,那么问题就简单了。然而,事实上一个bug常常是由多个因素共同导致的,如下图所示。白盒测试技术的常见方法之一就是覆盖测试,它是利用程序的逻辑结构设计相应的测试用例。测试人员

2、要深入了解被测程序的逻辑结构特点,完全掌握源代码的流程,才能设计出恰当的用例。根据不同的测试要求,覆盖测试可以分为语句覆盖、分支覆盖、条件覆盖、分支条件测试、条件组合测试和路径覆盖。下面是一段简单的C语言程序,作为公共程序段来说明五种覆盖测试的各自特点。程序:1If(x>100&&y>500)then2score=score+13If(x>=1000

3、

4、z>5000)then4score=score+5逻辑运算符“&&”表示“与”的关系,逻辑运算符“

5、

6、”表示“或”的关系。其程序控制流图如图所示。

7、覆盖如果所有软件错误的根源都可以追溯到某个唯一原因,那么问题就简单了。然而,事实上一个bug常常是由多个因素共同导致的,如下图所示。语句覆盖1.什么是语句覆盖?语句覆盖(StatementCoverage)是指设计若干个测试用例,程序运行时每个可执行语句至少被执行一次。在保证完成要求的情况下,测试用例的数目越少越好。以下是针对公共程序段设计的两个测试用例,称为测试用例组1。TestCase1:x=2000,y=600,z=6000TestCase2:x=900,y=600,z=5000如表1所示,

8、采用TestCase1作为测试用例,则程序按路径a,c,e顺序执行,程序中的4个语句都被执行一次,符合语句覆盖的要求。采用TestCase2作为测试用例,则程序按路径a,c,d顺序执行,程序中的语句4没有执行到,所以没有达到语句覆盖的要求。语句覆盖表1测试用例组1测试用例x,y,z(x>100)and(y>500)(x>=1000)or(z>5000)执行路径TestCase12000,600,6000TrueTrueaceTestCase2900,600,5000TrueFalseacd语句覆盖

9、从表面上看,语句覆盖用例测试了程序中的每一个语句行,好像对程序覆盖得很全面,但实际上语句覆盖测试是最弱的逻辑覆盖方法。例如,第一个判断的逻辑运算符“&&”错误写成“

10、

11、”,或者第二个判断的逻辑运算符“

12、

13、”错误地写成“&&”,这时如果采用TestCase1测试用例是检验不出程序中的判断逻辑错误的。如果语句3“If(x>=1000

14、

15、z>5000)then”错误写成“If(x>=1500

16、

17、z>5000)then”,TestCase1同样无法发现错误之处。根据上述分析可知,语句覆盖测试只是表面上的覆

18、盖程序流程,没有针对源程序各个语句间的内在关系,设计更为细致的测试用例。语句覆盖实例练习publicvoidfunction(inta,intb,intc){if((a>1)&&(b==0)){c=c/a;}if((a==5)

19、

20、(c>1)){c=c+1;}c=a+b+c;}分析步骤?分析步骤是?分支覆盖分支覆盖分支覆盖(BranchCoverage)是指设计若干个测试用例,执行被测试程序时,程序中每个判断条件的真值分支和假值分支至少被执行一遍。在保证完成要求的情况下,测试用例的数目越少越好。分支

21、覆盖又称为判断覆盖。测试用例组2:TestCase1:x=2000,y=600,z=6000TestCase3:x=50,y=600,z=2000如表2所示,采用TestCase1作为测试用例,程序按路径a,c,e顺序执行;采用TestCase3作为测试用例,程序按路径a,b,d顺序执行。所以采用这一组测试用例,公共程序段的4个判断分支b,c,d,e都被覆盖到了。分支覆盖表2测试用例组2测试用例x,y,z(x>100)and(y>500)(x>=1000)or(z>5000)执行路径TestCas

22、e12000,600,6000TrueTrueaceTestCase350,600,2000FalseFalseabd分支覆盖测试用例组3:TestCase4:x=2000,y=600,z=2000TestCase5:x=2000,y=200,z=6000如表3所示,采用TestCase4作为测试用例,程序沿着路径a,c,d顺序执行;采用TestCase5作为测试用例,则程序沿着路径a,b,e顺序执行。显然采用这组测试用例同样可以满足判断覆盖。分支覆盖表3测试用例组3测试用例x,y

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。