3-白盒测试(一)PPT课件PPT推荐.pptx
《3-白盒测试(一)PPT课件PPT推荐.pptx》由会员分享,可在线阅读,更多相关《3-白盒测试(一)PPT课件PPT推荐.pptx(50页珍藏版)》请在冰豆网上搜索。
![3-白盒测试(一)PPT课件PPT推荐.pptx](https://file1.bdocx.com/fileroot1/2022-10/4/df5ba857-6e2c-465d-a0ab-0442cff3de3d/df5ba857-6e2c-465d-a0ab-0442cff3de3d1.gif)
if(A=2)|(X1)X=X+1;
案例分析,X=X/A,(A1)&
(B=0),X=X+1,(A=2)|(X1),Y,Y,N,N,a,b,d,c,e,M,N,选题依据,案例分析,X=X/A,(A1)&
(B=0),X=X+1,(A=2)|(X1),Y,Y,N,N,a,b,d,c,e,M,N,将里面的判定条件和过程记录如下:
判定条件MA1andB=0判定条件N=A=2orX1,选题依据,案例分析,将里面的判定条件和过程记录如下:
判定条件MA1andB=0判定条件N=A=2orX1,由这个流程图可以看出,该程序模块有4条不同的路径:
P1:
(a-c-e),X=X/A,(A1)&
(B=0),X=X+1,(A=2)|(X1),Y,Y,N,N,a,b,d,c,e,M,N,选题依据,案例分析,将里面的判定条件和过程记录如下:
(a-c-e),P2:
(a-c-d),X=X/A,(A1)&
(B=0),X=X+1,(A=2)|(X1),Y,Y,N,N,a,b,d,c,e,M,N,P2:
(a-c-d),P3:
(a-b-e),选题依据,案例分析,将里面的判定条件和过程记录如下:
(a-b-e),P4:
(a-b-d),选题依据,语句覆盖:
程序中的每一条语句至少执行一次,X=X/A,(A1)&
(B=0),X=X+1,(A=2)|(X1),Y,Y,N,N,a,b,d,c,e,M,N,X=2,X=3,测试用例,判定MA1andB=0的取值,T,T,判定NA=2orX1的取值,P1:
(a-c-e),输入,A=2,B=0,X=4,预期输出,A=2,B=0,X=3,覆盖路径,语句覆盖,选题依据,判定覆盖:
程序中每个判定的真假分支至少执行一次,X=X/A,(A1)&
(B=0),X=X+1,(A=2)|(X1),Y,Y,N,N,a,b,d,c,e,M,N,测试用例:
判定MA1andB=0的取值:
TF判定NA=2orX1的取值:
TF,2,F,F,P4:
(a-b-d),A=1,B=1,X=1,A=1,B=1,X=1,选题依据,思考:
思考一:
除了上边的测试用例,还有其他的判定覆盖测试用例吗?
如果有,请设计相应的测试用例。
思考二:
判定覆盖是否包含语句覆盖?
X=X/A,(A1)&
(B=0),X=X+1,(A=2)|(X1),Y,Y,N,N,a,b,d,c,e,M,N,判定覆盖,选题依据,条件覆盖:
不仅每一个语句至少执行一次,使得判定中的每个条件获得各种可能的结果。
条件:
A1,A1,X=1根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示。
2,A=1,B!
=0,A!
=2,X=1,P4:
(a-b-d),A=1,B=1,X=1,A=1,B=1,X=1,F1,F2F3,F4,条件覆盖,判定/条件覆盖,设计足够多的测试用例,使得判定中每个条件的所有可能取值至少能够获取一次,同时每个判断的所有可能的判定结果至少执行一次。
设计足够多的测试用例,使得判定中每个条件的所有可能取值至少能够获取一次,同时每个判断的所有可能的判定结果至少执行一次。
判定/条件覆盖,判定/条件覆盖,条件组合覆盖,要求设计足够多的测试用例,使得每个判定中条件的各种组合至少出现一次。
满足条件组合覆盖标准的测试用例,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准。
1)A1,B=02)A1,B03)A1,B=04)A1,B05)A=2,X16)A=2,X17)A2,X18)A2,X1,条件组合覆盖,条件组合覆盖,路径覆盖,要求设计足够多的测试用例,使得程序中所有的路径都至少执行一次。
逻辑覆盖,路径覆盖,逻辑覆盖测试方法,逻辑覆盖度,条件组合覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,满足条件组合覆盖级别的测试用例也是满足_级别的逻辑覆盖;
针对布尔表达式A&
(B|C)执行逻辑覆盖测试,测试用例至少需要_种组合才能满足条件组合覆盖的要求。
逻辑覆盖,练习,3.路径测试,路径测试概念,根据程序的逻辑控制所产生的路径进行测试用例设计的方法。
主要方法有:
基本路径测试法。
它是从一个程序的入口开始,执行所经历的各个语句的完整过程。
完成路经测试的理想情况是做到路径覆盖。
前导概念:
控制流图,程序流程图又称框图,是我们最熟悉,也是最容易理解的一种程序控制结构的图形表示。
在这种图上的框里面常常标明了处理要求或者条件,但是,这些标注在做路径分析时是不重要的。
为了更加突出控制流的结构,需要对程序流程图做一些简化,这种简化了的程序流程图叫做控制流图。
控制流图,在控制流图中只有两种图形符号:
节点:
以标有编号的圆圈表示。
它代表了程序流程图中矩形框表示的处理、菱形表示的两个到多个出口判断以及两条到多条流线相交的汇合点。
控制流线或弧:
以箭头表示。
它与程序流程图中的流线是一致的,表明了控制的顺序。
为了方便讨论,控制流线通常标有名字,如图中所标的a、b、c等。
程序流程图控制流图,控制流图,化简:
若在一个节点序列中没有分支,则可以把这个序列的节点都合并成一个节点。
控制流图,基本路径测试是McCabe提出的一种“白盒”测试方法计算程序的圈复杂度用该复杂度为指南定义执行路径的基本集合从该基本集合中导出的测试用例可以保证程序中的每条语句被覆盖而且每个条件在执行时都分别取真、假两种值,基本路径测试法,1)根据过程设计结果画出相应的流图2)计算控制流图的圈复杂度3)确定线性独立路径的基本集合4)设计可强制执行基本集合中每条路径的测试用例,基本路径测试步骤,请看以下代码,它由C+语言书写。
把它转化成控制流图,并使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。
基本路径测试实例,voidReadPara(CStringtemp)if(temp=)m_oper.SetCurSel(0);
elseif(temp=)m_oper.SetCurSel
(1);
elseif(temp=)m_oper.SetCurSel
(2);
else,if(temp=)m_oper.SetCurSel(3);
elseif(temp=)m_oper.SetCurSel(4);
elsem_oper.SetCurSel(5);
return;
基本路径测试实例,1画出这段代码的控制流图。
2根据控制流图,计算环路复杂度V(G)=22-18+2=6。
3导出测试用例,列出路径:
Path1:
2-3-4-27-28Path2:
2-3-7-8-26-27-28Path3:
2-3-7-11-12-25-26-27-28Path4:
2-3-7-11-15-16-24-25-26-27-28Path5:
2-3-7-11-15-19-20-23-24-25-26-27-28Path6:
2-3-7-11-15-19-22-23-24-25-26-27-28,控制流图,5.2.2路径测试,基本路径测试实例,4设计测试用例根据第3步中给出的路径,下面设计测试用例。
5.2.2路径测试,基本路径测试实例,小结,逻辑覆盖路经测试,