收藏 分享(赏)

第07课-白盒测试逻辑覆盖测试.ppt

上传人:cjc2202537 文档编号:1040692 上传时间:2018-06-06 格式:PPT 页数:34 大小:399.50KB
下载 相关 举报
第07课-白盒测试逻辑覆盖测试.ppt_第1页
第1页 / 共34页
第07课-白盒测试逻辑覆盖测试.ppt_第2页
第2页 / 共34页
第07课-白盒测试逻辑覆盖测试.ppt_第3页
第3页 / 共34页
第07课-白盒测试逻辑覆盖测试.ppt_第4页
第4页 / 共34页
第07课-白盒测试逻辑覆盖测试.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、把程序看成装在一个透明的白盒子里,程序的结构和处理呈现过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。,第3章 白盒测试方法,主要内容,逻辑覆盖测试,黑盒测试与白盒测试,任何工程产品都可以使用白盒测试和黑盒测试两种方法之一进行测试。1黑盒测试 黑盒测试:已知产品的功能设计规格和用户手册,可以进行测试证明每个功能是否实现、每个实现了的功能是否符合客户要求。,软件的黑盒测试意味着测试要在软件的接口处进行,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书和用户手册,检查程序的功能是否符合它的功能说明,以及性能是否满足用户的要求。

2、因此黑盒测试又叫功能测试或数据驱动测试。,2白盒测试 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。,白盒测试的基本概念,什么是白盒测试把程序看成装在一个透明的白盒子里,程序的结构和处理过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。,不可

3、能进行彻底的白盒测试,结论是:41+42+43+410,需要14秒左右的时间如果循环次数为20次,100次时,结果又如何?结论是:循环20次,需要约4072小时,循环100次则大约需要6.79*1047年,左图是具有某程序的流程图,假设循环10次,请计算一下有多少条程序执行通路?假设由图中得到的所有路径都是可执行路径,执行一次循环大约需要10微秒(奔腾4 1.7G),且一年365天每天24小时不停机,请回答:如果循环次数为10的话,遍历图中所有路径需要多长时间?,白盒测试的常用方法,逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑

4、的是测试用例对程序内部逻辑覆盖的程度。,逻辑覆盖,语句覆盖判定覆盖条件覆盖判定条件覆盖条件组合覆盖路径覆盖,弱,强,覆盖程度从低到高排列,覆盖准则的作用,说明用于描述在测试过程中,被测对象被测试的程度,有时候也称为软件测试覆盖准则或者测试数据完备准则,可以:作为测试停止的标准,用于衡量测试是否充分;作为选取测试数据的依据,满足相同覆盖准则的测试数据是等价的.,逻辑覆盖例题,路径:P1(TT)P2(FF)P3(FT)P4(TF),程序如下: function js(float A,floatB,float X) if( A1)&(B=0) X=X/A; if(A=2)|(X1) X=X+1; ,

5、1 语句覆盖,设计足够的测试用例,使得程序中的每个语句至少执行一次。,1 语句覆盖,路径:P1(TT)P2(FF)P3(FT)P4(TF),3,0,2,2 判定覆盖,设计足够的测试用例,使得在语句覆盖的基础上,程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖。,2 判定覆盖(分支覆盖),还有其它可能吗?有!例如:303,211这两组用例,路径:P1(TT)P2(FF)P3(FT)P4(TF),从定义上可知:判定覆盖包含了语句覆盖,3 条件覆盖,设计足够的测试用例,在语句覆盖的基础上使得程序判定中的每个条件能获得各种可能的结果。,3 条件覆盖,将每一个条件都列出来:

6、A1 A1X=1,3 条件覆盖,3 条件覆盖,思考:判定覆盖和条件覆盖的关系,4 判定条件覆盖,同时满足判定覆盖的和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是: 设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。,4 判定/条件覆盖,判定条件覆盖仍有缺陷。从表面上看,它测试了所有条件的所有可能结果,但事实上并不是这样。因为某些条件掩盖了另一些条件。例如,在逻辑表达式中,如果“与”表达式中某一条件为“假”,则整个表达式的值为“假”,这个表达式中另外的几个条件就不起作用了。同样地,如果在“或”表达式中,某一条件为“真”,则整个表达式的值为“

7、真”,其它条件也就不起作用了。因此,采用判定条件覆盖时,逻辑表达式中的错误不一定能测试出来。,5 条件组合覆盖,设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次。,5 条件组合覆盖,可能的条件组合:(1)A1,B0(2)A1,B0(3)A1,B0(4)A1,B0(5)A2,x1(6)A2,x1(7)A2,x1(8)A2,x1,相应的输入数据:A2,B0,x4 满足(1)和(5)A2,B1,x1 满足(2)和(6)A1,B0,x2 满足(3)和(7)A1,B1,x1 满足(4)和(8),显然,满足条件组合覆盖的测试数据,也一定满足判定覆盖、条件覆盖和判定条件覆盖标准。,5 条

8、件组合覆盖,TEST CASES:A2,B0,x4A2,B1,x1A1,B0,x2A1,B1,x1,5 路径覆盖,设计足够的测试用例,使程序中的每一条可能路径都至少执行一次。,每条可能的路径都至少执行一次。,6 路径覆盖,Test cases: A=1 , B=1 , X=1 A=1 , B=1 , X=2 A=3 , B=0 , X=1 A=2 , B=0 , X=4,路径:P1(TT)P2(FF)P3(FT)P4(TF),习题,1. 在用白盒法设计测试用例时,常用的6种覆盖标准是语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖.假设A和B是两种覆盖准则,我们用包含,被包

9、含,相同和互不包含来形容他们之间的关系:语句覆盖判定覆盖 语句覆盖条件覆盖 判定覆盖条件覆盖 判定覆盖判定/条件覆盖 判定/条件覆盖条件组合覆盖,练习一,1.如图显示某程序的逻辑结构。试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。,练习二,在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中( A )是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例组。若x, y是两个变量,可供选择的测试用例组共有、四组,如表中给出,则实现判定覆盖至少应采取的测试用例组是( B )或( C );实现条件覆盖至少应采取的测试用例组是( D );实现路径覆盖至少应采取的测试用例组是( E )或( F )。,供选择的答案A: 语句覆盖 条件覆盖 判定覆盖 路径覆盖BF: 和组 和组 和组 和组 、组 、组 、组 、组,解答:A. B. C. D. E. F. ,总 结,逻辑覆盖技术语句覆盖:每条语句至少执行一次判定覆盖:每个判定的每个分支至少执行一次条件覆盖:每个判定的每个条件应取到各种可能的值判定-条件覆盖:同时满足判定覆盖和条件覆盖条件组合覆盖:每个判定中各条件的每一种组合至少出现一次路径覆盖:使程序中每一条可能的路径至少执行一次,

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

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

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报