欢迎来到天天文库
浏览记录
ID:45265223
大小:429.50 KB
页数:54页
时间:2019-11-11
《hw软件测试(周)6》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Unit6白盒测试概述1基本路径测试33逻辑覆盖法2循环测试34程序插桩35白盒测试综合策略6调试76.1概述白盒测试(White-boxTesting)也称结构测试。“白盒”将程序形象地比喻为放在一个透明的盒子里,故测试人员了解被测程序的内部结构。测试人员利用程序的内部逻辑结构和相关信息,对程序的内部结构和路径进行测试,检验其是否达到了预期的设计要求。6.2逻辑覆盖法逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖
2、路径覆盖1语句覆盖设计足够的测试用例,使得程序中的每个语句至少执行一次。1语句覆盖入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFABX用例1204用例2?第一个判断中的逻辑运算符“AND”若错写成了“OR”,能否测试出来?路径:P1(TT)P2(FF)P3(FT)P4(TF)2判定覆盖设计足够的测试用例,使得在语句覆盖的基础上,程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖。2判定覆盖(分支覆盖)入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFABX用例1204用例2111?
3、判定覆盖比语句覆盖强,但是仍不能保证判断条件的正确性。例如:第二个判断条件中的x>1若错写成了x<1,能否测试出来?3条件覆盖设计足够的测试用例,在语句覆盖的基础上使得程序判定中的每个条件能获得各种可能的结果。3条件覆盖入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFABX用例1204用例2111ABX用例1103用例2211?是否满足判定覆盖?4判定/条件覆盖设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。4判定/条件覆盖入口A>1ANDB=0TA=2ORX>1TX=X/AX
4、=X+1返回FFABX用例1204用例2111判定/条件覆盖仍有缺陷。从表面上看,它测试了所有条件的所有可能结果,但事实上并不是这样。因为某些条件掩盖了另一些条件。例如,在逻辑表达式中,如果“与”表达式中某一条件为“假”,则整个表达式的值为“假”,这个表达式中另外的几个条件就不起作用了。同样地,如果在“或”表达式中,某一条件为“真”,则整个表达式的值为“真”,其它条件也就不起作用了。因此,采用判定/条件覆盖时,逻辑表达式中的错误不一定能测试出来。5条件组合覆盖设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次。5条件组合覆盖可能的条件
5、组合:(1)A>1,B=0(2)A>1,B≠0(3)A≤1,B=0(4)A≤1,B≠0(5)A=2,x>1(6)A=2,x≤1(7)A≠2,x>1(8)A≠2,x≤1相应的输入数据:A=2,B=0,x=4满足(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:A=2,B=0,x=4A=2,B=1,x=1A=1,B=0,x=2A=1,B=1,x=1入口A>1
6、ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF?请写出各测试用例的执行路径。然后考察是否覆盖了(TF)路径。每条可能的路径都至少执行一次。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF6路径覆盖Testcases:①A=1,B=1,X=1②A=1,B=1,X=2③A=3,B=0,X=1④A=2,B=0,X=4但即使每条路径都测试过了,仍然可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序。穷举路径测试不可能查出程序因为遗漏路径而出错。穷举路径测试发现不了一些与数据相关的
7、错误。语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖用例覆盖程度用例设计难易度练习:对下图所示程序段进行语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法进行测试用例设计。6.3基本路径测试1、流图控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。控制流图中包括两种图形符号:结点和控制流线。结点由带标号的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框(假设不包含复合条件)。控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。对于复合条件,则可将其分解为
8、多个单个条件,并映射成控制流图。其中,包含条件的结点被称为判定结点(也叫谓词结点),由判定结点
此文档下载收益归作者所有