收藏 分销(赏)

第07课白盒测试(1)—逻辑覆盖测试.ppt

上传人:精**** 文档编号:5457248 上传时间:2024-11-06 格式:PPT 页数:34 大小:311KB
下载 相关 举报
第07课白盒测试(1)—逻辑覆盖测试.ppt_第1页
第1页 / 共34页
第07课白盒测试(1)—逻辑覆盖测试.ppt_第2页
第2页 / 共34页
点击查看更多>>
资源描述
第第07课白盒测试课白盒测试(1)逻辑覆盖测试逻辑覆盖测试 2路径分析测试路径分析测试3分支条件测试、循环测试分支条件测试、循环测试4其它测试类型其它测试类型5主主要要内内容容综合测试实例综合测试实例 6黑盒测试与白盒测试黑盒测试与白盒测试1逻辑覆盖测试逻辑覆盖测试黑盒测试与白盒测试黑盒测试与白盒测试v任何工程产品都可以使用白盒测试和黑盒测任何工程产品都可以使用白盒测试和黑盒测试两种方法之一进行测试。试两种方法之一进行测试。1黑盒测试v黑黑盒盒测测试试:已已知知产产品品的的功功能能设设计计规规格格和和用用户户手手册册,可可以以进进行行测测试试证证明明每每个个功功能能是是否否实实现现、每每个实现了的功能是否符合客户要求。个实现了的功能是否符合客户要求。v软软件件的的黑黑盒盒测测试试意意味味着着测测试试要要在在软软件件的的接接口口处处进进行行,测测试试人人员员完完全全不不考考虑虑程程序序内内部部的的逻逻辑辑结结构构和和内内部部特特性性,只只依依据据程程序序的的需求规格说明书和用户手册,检检查查程程序序的的功功能能是是否否符符合合它它的的功功能能说说明明,以以及及性性能能是是否否满满足足用用户户的的要要求求。因此因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试又叫功能测试或数据驱动测试。2白盒测试v白盒测试:已知产品的内部工作过程,可以通白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。所有内部成分是否以经过检查。v软件的白盒测试是对软件的过程性细节做细致软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序状态,确辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此定实际状态是否与预期的状态一致。因此白盒测试白盒测试又称为结构测试或逻辑驱动测试。又称为结构测试或逻辑驱动测试。白盒测试的基本概念白盒测试的基本概念v什么是白盒测试把程序看成装在一个透明的白盒子里,程序的结构和处理过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。不可能进行彻底的白盒测试不可能进行彻底的白盒测试v结论是:结论是:4 41 1+4+42 2+4+43 3+4+41010,需要需要1414秒左右的时秒左右的时间间v如果循环次数为如果循环次数为2020次,次,100100次时,结果又如何?次时,结果又如何?v结论是:循环结论是:循环2020次,需要约次,需要约40724072小时,循环小时,循环100100次则大约需要次则大约需要6.79*106.79*104747年年v左图是具有某程序的流程图,假设循环左图是具有某程序的流程图,假设循环1010次,请次,请计算一下有多少条程序执行通路?假设由图中得计算一下有多少条程序执行通路?假设由图中得到的所有路径都是可执行路径,执行一次循环大到的所有路径都是可执行路径,执行一次循环大约需要约需要1010微秒(奔腾微秒(奔腾4 1.7G4 1.7G),且一年),且一年365365天每天天每天2424小时不停机,请回答:如果循环次数为小时不停机,请回答:如果循环次数为1010的话,的话,遍历图中所有路径需要多长时间?遍历图中所有路径需要多长时间?白盒测试的常用方法白盒测试的常用方法逻辑覆盖逻辑覆盖路径分析路径分析测试测试 循环、条循环、条件分支件分支逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。逻辑覆盖逻辑覆盖语句覆盖语句覆盖判定覆盖判定覆盖条件覆盖条件覆盖判定条件覆盖判定条件覆盖条件组合覆盖条件组合覆盖路径覆盖路径覆盖弱弱强强覆盖程度从覆盖程度从低到高排列低到高排列覆盖准则的作用覆盖准则的作用v说明说明用于描述在测试过程中,被测对象被测试的程度,用于描述在测试过程中,被测对象被测试的程度,有时候也称为软件测试覆盖准则或者测试数据完备有时候也称为软件测试覆盖准则或者测试数据完备准则,可以准则,可以:1.作为作为测试停止测试停止的标准,用于衡量测试是否充分的标准,用于衡量测试是否充分;2.作为作为选取测试数据选取测试数据的依据,满足相同覆盖准则的测的依据,满足相同覆盖准则的测试数据是等价的试数据是等价的.逻辑覆盖例题逻辑覆盖例题入口入口A1ANDB=0TA=2ORX1TX=X/AX=X+1返回返回FF路径:路径:P1(TT)P2(FF)P3(FT)P4(TF)v程序如下:程序如下:functionjs(floatA,floatB,floatX)if(A1)&(B=0)X=X/A;if(A=2)|(X1)X=X+1;1 语句覆盖语句覆盖 设计足够的测试用例,使设计足够的测试用例,使得程序中的每个语句至少执行得程序中的每个语句至少执行一次。一次。1语句覆盖语句覆盖入口入口A1ANDB=0TA=2ORX1TX=X/AX=X+1返回返回FFABX用例用例1204输出路径:路径:P1(TT)P2(FF)P3(FT)P4(TF)?第一个判断中的第一个判断中的逻辑运算符逻辑运算符“AND”若错写若错写成了成了“OR”,能能否测试出来?否测试出来?只包含了只包含了P1一条一条路径,所以语句路径,所以语句覆盖的覆盖程度覆盖的覆盖程度是最弱的是最弱的3022判定覆盖判定覆盖 设计足够的测试用例,使设计足够的测试用例,使得在语句覆盖的基础上得在语句覆盖的基础上,程序程序中每个判定的取中每个判定的取“真真”分支和分支和取取“假假”分支至少都执行一次,分支至少都执行一次,判定覆盖又称分支覆盖。判定覆盖又称分支覆盖。2判定覆盖判定覆盖(分支覆盖分支覆盖)入口入口A1ANDB=0TA=2ORX1TX=X/AX=X+1返回返回FFABX用例用例1204用例用例2111?判定覆盖比语句覆判定覆盖比语句覆盖强,但是仍不能保证盖强,但是仍不能保证判断条件的正确性。例判断条件的正确性。例如:第二个判断条件中如:第二个判断条件中的的x x1 1若错写成了若错写成了x x1,1,能否测试出来?能否测试出来?还有其它可能吗?还有其它可能吗?有!例如:有!例如:301,211这这两组用例两组用例路径:路径:P1(TT)P2(FF)P3(FT)P4(TF)从定义上从定义上可知:判可知:判定覆盖包定覆盖包含了语句含了语句覆盖覆盖3条件覆盖条件覆盖 设计足够的测试用例,在设计足够的测试用例,在语句覆盖的基础上使得程序判语句覆盖的基础上使得程序判定中的每个条件能获得各种可定中的每个条件能获得各种可能的结果。能的结果。3条件覆盖条件覆盖入口入口A1ANDB=0TA=2ORX1TX=X/AX=X+1返回返回FF将每一个条件都列出来:A1A1X1,B=0,A=2,X1P1(TT)(101)()(101)A=1,B=0,A!=2,X1,B!=0,A=2,X1ANDB=0TA=2ORX1TX=X/AX=X+1返回返回FFABX用例用例1204用例用例2111ABX用例用例1103用例用例2211?是否满足判定覆是否满足判定覆盖盖?思考:思考:判定覆盖和条件判定覆盖和条件覆盖的关系覆盖的关系4判定条件覆盖判定条件覆盖 同时满足判定覆盖的和条件同时满足判定覆盖的和条件覆盖的逻辑覆盖称为判定覆盖的逻辑覆盖称为判定/条件覆条件覆盖。盖。它的含义是:它的含义是:设计足够的测设计足够的测试用例,使得判定中的每个条件试用例,使得判定中的每个条件都取到各种可能的值,而且每个都取到各种可能的值,而且每个判定表达式也都取到各种可能的判定表达式也都取到各种可能的结果。结果。4判定判定/条件覆盖条件覆盖判判定定条条件件覆覆盖盖仍仍有有缺缺陷陷。从从表表面面上上看看,它它测测试试了了所所有有条条件件的的所所有有可可能能结结果果,但但事事实实上上并并不不是是这这样样。因因为为某某些些条条件件掩掩盖盖了了另另一一些些条条件件。例例如如,在在逻逻辑辑表表达达式式中中,如如果果“与与”表表达达式式中中某某一一条条件件为为“假假”,则则整整个个表表达达式式的的值值为为“假假”,这这个个表表达达式式中中另另外外的的几几个个条条件件就就不不起起作作用用了了。同同样样地地,如如果果在在“或或”表表达达式式中中,某某一一条条件件为为“真真”,则则整整个个表表达达式式的的值值为为“真真”,其其它它条条件件也也就就不不起起作作用用了了。因因此此,采采用用判判定定条条件件覆覆盖盖时时,逻逻辑辑表达式中的错误不一定能测试出来。表达式中的错误不一定能测试出来。入口入口A1ANDB=0TA=2ORX1TX=X/AX=X+1返回返回FFABX用例用例1204用例用例21115条件组合覆盖条件组合覆盖 设计足够的测试用例,使设计足够的测试用例,使得每个判定中的条件的各种可得每个判定中的条件的各种可能组合都至少出现一次。能组合都至少出现一次。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)A 2,B 1,x 1 满足(满足(2)和()和(6)A 1,B 0,x 2 满足(满足(3)和()和(7)A 1,B 1,x 1 满足(满足(4)和()和(8)显显然然,满满足足条条件件组组合合覆覆盖盖的的测测试试数数据据,也也一一定定满满足足判判定定覆盖、条件覆盖和判定条件覆盖标准。覆盖、条件覆盖和判定条件覆盖标准。5条件组合覆盖条件组合覆盖TESTCASES:A2,B0,x4A2,B1,x1A1,B0,x2A1,B1,x1入口入口A1ANDB=0TA=2ORX1TX=X/AX=X+1返回返回FF?请写出各测试用例的请写出各测试用例的执行路径。然后考察是执行路径。然后考察是否覆盖了否覆盖了(TF)路径。路径。6路径覆盖路径覆盖 设计足够的测试用例,使设计足够的测试用例,使程序中的每一条可能路径都至程序中的每一条可能路径都至少执行一次。少执行一次。每条可能的路径都至少执行一次。每条可能的路径都至少执行一次。入口入口A1ANDB=0TA=2ORX1TX=X/AX=X+1返回返回FF6路径覆盖路径覆盖Testcases:A=1,B=1,X=1A=1,B=1,X=2A=3,B=0,X=1A=2,B=0,X=4路径:路径:P1(TT)P2(FF)P3(FT)P4(TF)习题习题v1.在用白盒法设计测试用例时,常用的在用白盒法设计测试用例时,常用的6种覆盖标准是语种覆盖标准是语句覆盖、判定覆盖、条件覆盖、判定句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合条件覆盖、条件组合覆盖、路径覆盖覆盖、路径覆盖.v假设假设A和和B是两种覆盖准则,我们用是两种覆盖准则,我们用包含,被包含,相同包含,被包含,相同和互不包含和互不包含来形容他们之间的关系:来形容他们之间的关系:v语句覆盖语句覆盖判定覆盖判定覆盖语句覆盖语句覆盖条件覆盖条件覆盖判定覆盖判定覆盖条件覆盖条件覆盖判定覆盖判定覆盖判定判定/条件覆盖条件覆盖判定判定/条件覆盖条件覆盖条件组合覆盖条件组合覆盖练习一练习一v1.如图显示某程序的逻辑结构。试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。覆盖种类需满足的条件测试数据期望结果判定覆盖A0,B=0A=2,B=0执行S1A0,B0或A0,B=0或A0,B0A=2,B=1或A=0,B=0或A=-1,B=1执行S2条件覆盖以下四种情况各出现一次A0B=0A=2,B=0执行S1A0B0A=-1,B=1执行S2条件组合覆盖A0,B=0A=2,B=0执行S1A0B0A=2,B=1执行S2A0,B=0A=-1,B=0执行S2A0,B0A=0B=1执行S2练习二练习二v在白盒测试用例设计中,有语句覆盖、分支在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中(覆盖、条件覆盖、路径覆盖等,其中(A)是最强的覆盖准则。为了对如下图所示的程序是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例组。段进行覆盖测试,必须适当地选取测试用例组。若若x,y是两个变量,可供选择的测试用例组共是两个变量,可供选择的测试用例组共有有、四组,如表中给出,则实现四组,如表中给出,则实现判定覆盖至少应采取的测试用例组是(判定覆盖至少应采取的测试用例组是(B)或(或(C);实现条件覆盖至少应采取的测试);实现条件覆盖至少应采取的测试用例组是(用例组是(D);实现路径覆盖至少应采取);实现路径覆盖至少应采取的测试用例组是(的测试用例组是(E)或()或(F)。)。v供选择的答案供选择的答案vA:语句覆盖语句覆盖条件覆盖条件覆盖v判定覆盖判定覆盖路径覆盖路径覆盖BF:和和组组和和组组v和和组组和和组组v、组组、组组v、组组、组组v解答:解答:A.vB.C.D.E.F.总总结结v逻辑覆盖技术逻辑覆盖技术语句覆盖:每条语句至少执行一次语句覆盖:每条语句至少执行一次判定覆盖:每个判定的每个分支至少执行一次判定覆盖:每个判定的每个分支至少执行一次条件覆盖:每个判定的每个条件应取到各种可能的值条件覆盖:每个判定的每个条件应取到各种可能的值判定判定-条件覆盖:同时满足判定覆盖和条件覆盖条件覆盖:同时满足判定覆盖和条件覆盖条件组合覆盖:每个判定中各条件的每一种组合至少出条件组合覆盖:每个判定中各条件的每一种组合至少出现一次现一次路径覆盖:使程序中每一条可能的路径至少执行一次路径覆盖:使程序中每一条可能的路径至少执行一次发发现现错错误误能能力力由由弱弱到到强强
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服