资源描述:
《第十三讲测试ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十三讲白盒测试的测试方案设计测试方案与测试用例测试方案:测试目的+输入数据+期望结果测试用例:输入数据+期望结果设计测试方案的基本目标确定能够最大可能发现错误的测试用例测试技术与测试方案设计适用于白盒测试的技术:逻辑覆盖适用于黑盒测试的技术等价类划分边界值分析错误猜测法因果图法逻辑覆盖(LogicCoverage)语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。它属白盒测试。PROCEXPA(A,B,X:REAL);BEGINIF(A>1ANDB=0)THENX=X/A;IF(A=2ORX>1)THENX=X+1;EN
2、D1.语句覆盖语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。在图例中,正好所有的可执行语句都在路径L1上,所以选择路径L1设计测试用例,就可以覆盖所有的可执行语句。测试用例的设计格式如下【输入的(A,B,X),输出的(A,B,X)】为图例设计满足语句覆盖的测试用例:【(2,0,4),(2,0,3)】或【(3,0,9),(3,0,4)】覆盖a-c-e【L1】?如果把AND误写成OR,这组测试用例有效否?2.判定覆盖判定覆盖就是设计若干个测试用例,运行被测程序,不仅每条语句至少执行一次,而且程序中每个判断的取真分支和取假分支至少经历一次。判定覆盖又称为分支覆盖
3、。对于图例,如果选择路径L1和L2,就可得满足要求的测试用例:【(2,0,4),(2,0,3)】覆盖a-c-e【L1】【(1,1,1),(1,1,1)】覆盖a-b-d【L2】如果选择路径L3和L4,还可得另一组可用的测试用例:【(2,1,1),(2,1,2)】覆盖a-b-e【L3】【(3,0,3),(3,1,1)】覆盖a-c-d【L4】3.条件覆盖条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中不仅每条语句至少执行一次,而且每个判断的每个条件的可能取值至少执行一次。在图例中,可事先对所有条件的取值加以标记。例如,对于第一个判断(A>1ANDB=0):条件A>1取真为,取假为条件
4、B=0取真为,取假为对于第二个判断(A=2ORX>1):条件A=2取真为,取假为条件X>1取真为,取假为测试用例覆盖分支条件取值【(2,0,4),(2,0,3)】L1(a-c-e)【(1,0,1),(1,0,1)】L2(a-b-d)【(2,1,1),(2,1,2)】L3(a-b-e)或【(1,0,3),(1,0,4)】L3(a-b-e)【(2,1,1),(2,1,2)】L3(a-b-e)满足条件覆盖是否一定满足判定覆盖?第二组满足条件覆盖但不满足判定覆盖4.判定/条件覆盖既满足判定覆盖又满足条件覆盖。即设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有
5、可能判定结果至少执行一次。例如,测试用例覆盖分支条件取值【(2,0,4),(2,0,3)】L1(a-c-e)【(1,1,1),(1,1,1)】L2(a-b-d)并不一定比条件覆盖或判定覆盖更强。原因?为避免条件之间的相互掩盖,可以分解为基本的判定,例如,ANDOR5.条件组合覆盖条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。记①A>1,B=0作②A>1,B≠0作③A≯1,B=0作④A≯1,B≠0作⑤A=2,X>1作⑥A=2,X≯1作⑦A≠2,X>1作⑧A≠2,X≯1作测试用例覆盖条件覆盖组合【(2,0,4),(2,0,3)】
6、(L1)①,⑤【(2,1,1),(2,1,2)】(L3)②,⑥【(1,0,3),(1,0,4)】(L3)③,⑦【(1,1,1),(1,1,1)】(L2)④,⑧6.路径覆盖路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径,即每条可能路径都至少执行一次。测试用例通过路径覆盖条件【(2,0,4),(2,0,3)】a-c-e(L1)【(1,1,1),(1,1,1)】a-b-d(L2)【(1,1,2),(1,1,3)】a-b-e(L3)【(3,0,3),(3,0,1)】a-c-d(L4)条件测试路径选择当程序中判定多于一个时,形成的分支结构可以分为两类:嵌套型分支结构和连锁型分支结构。对于
7、嵌套型分支结构,若有n个判定语句,需要n+1个测试用例;对于连锁型分支结构,若有n个判定语句,需要有2n个测试用例,覆盖它的2n条路径。当n较大时将无法测试。条件测试注意的问题布尔算符错布尔变量错布尔括号错关系算符错算术表达式错循环测试路径选择循环分为4种不同类型:简单循环、连锁循环、嵌套循环和非结构循环。(1)简单循环①零次循环:从循环入口到出口②一次循环:检查循环初始值③二次循环:检查多次循环④m次循环:检查m多次循环⑤