白盒测试设计方法
作者:互联网
白盒测试设计方法
一、白盒测试的概念和特点
什么是白盒测试?
特点:
二、白盒测试的方法
三、逻辑覆盖法
逻辑覆盖法:是通过对程序逻辑结构的遍历实现程序的覆盖
覆盖率:是用来度量测试完整性的一个手段。
例题:
3.1语句覆盖
语句覆盖:设计测试用例,使得程序中每条语句至少被执行一次。
例如:
- 案例代码中共有4条可执行语句
- 设计测试用例执行了3条,语句覆盖率为3/4=75%
覆盖用例尽可能达成百分之百的覆盖率
局限性:
3.2判定覆盖
判定覆盖:也叫分支覆盖,设计测试用例,使得程序中的每个判断的“真"和“假”都至少被执行一次。即:程序中的每个分支至少执行一次。
例如:
- 案例代码中有 判定2个,判定结果4个
- 设计测试用例执行了3个分支,分支覆盖率为3/4=75%
要是不在判定条件里的一定能走到,在判断条件里面的你取真和取假,一定能把所有的语句都走一遍。
3.3条件覆盖
条件覆盖:设计测试用例。使得判定中的每个条件至少有一次取真值,有一次取假值。
例如:
- 案例代码中有判定2个,条件3个,条件结果6个
- 设计测试用例执行了5个条件结果,条件覆盖率为5/6=83%
满足条件覆盖不一定满足判定覆盖
3.4判定条件覆盖
判定条件覆盖:设计测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值(真假)也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。
例如:
- 案例代码中有判定2个,条件3个, 判定结果4个,条件结果6个
- 设计测试用例执行了3个判定结果,5个条件结果,判定条件覆盖率
为: (3+5) / (4+6) =80%
让每个判定的取真取假,每个条件的取真取假
3.5判定条件覆盖
满足判定-条件覆盖标准一定能够满足条件覆盖、判定覆盖和语句覆盖
3.6条件组合覆盖
条件组合覆盖:设计测试用例,使得被测试程序中的每个判定中条件结果的所有可能组合至少执行一次。
c1c2里面是一个组合,要给他们先进行组合TF FT TT FF
C3只要能够满足T/F即可
局限性:
条件组合覆盖能满足判定覆盖、条件覆盖、判定-条件覆盖,也就包括语句覆盖
3.7路径覆盖
路径覆盖:设计测试用例,覆盖程序中所有可能的路径。
局限性:
路径覆盖可以对程序进行彻底的测试,比前面五种覆盖面都广
但是满足路径覆盖,并不一定能满足条件覆盖,也就不能满足条件组合覆盖
四、测试设计方法一基本路径测试法
基本路径测试法:在程序控制流图的基础上,通过分析程序的环路复杂性,导出基本可执行路径集合,从而设计测试用例
判断结点和语句结点都用一个小圆圈来代表
箭头和连线都是完全不变的
(2) 计算程序的环路复杂度
方法有三种:
- 流图中区域的数量对应于环型的复杂性。
-
给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中节点的数量。右图: V(G)=10-8+2
-
给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定节点的数量。右图: V(G)=3+1
五、总结
标签:语句,覆盖,白盒,测试用例,判定,测试,条件,设计,流图 来源: https://www.cnblogs.com/MyBlogForRecord/p/15426170.html