白盒测试是结构测试,主要对代码的逻辑进行验证。
逻辑覆盖率:语句覆盖<条件覆盖<判定覆盖<条件-判定覆盖<组合覆盖<路径覆盖
例子
![](https://img-blog.csdnimg.cn/d35850d9e55e49c4abd6430104efe21c.png)
一、语句覆盖
最基础的覆盖,只要每一个执行处理框内的语句都能执行就可,不用关注判断逻辑。
如题:其路径为1-2-4-5.
所以,其测试用例设计为:TT
例如:a=1,b=1,c=2
二、判断覆盖
判断覆盖一定包含语句覆盖,反之不然。判断覆盖需要每一个判断框取真和取假至少一次,重点需要关注判断框即可。
如题:其路径为1-2-6 + 3-4-5
所以,其测试用例设计为:TF+FT或者TT+FF
例如:a=1,b=1,c=1 和 a=0,b=0,c=2
三、条件覆盖
由于判断覆盖不能保证判断框内的&&和||类型条件的真假处理,而条件覆盖则是关注判断框内条件的真假执行情况,每一个条件的取值必须至少包含一真一假。重点关注判断框内的条件真假取值情况。
如题:其路径为1-2-6 或 3-4-5
所以,其测试用例设计为:
a |
>0 |
Ta |
a |
<0 |
Fa |
b |
>0 |
Tb |
b |
<0 |
Fb |
a |
>1 |
Taa |
a |
<1 |
Faa |
c |
=2 |
Tc |
c |
!=2 |
Fc |
TaTbTaaTc 和FaFbFaaFc 或者 TaFbTaaFc 和 FaTbFaaTc
例如:a=2,b=-1,c=1 和 a=-1,b=1,c=2
四、条件-判断覆盖
条件判断覆盖即要同时满足条件覆盖和判断覆盖。需要结合条件判断的表和图中的判断框进行判断。
如题:
所以,其测试用例设计为:TaTbTaaTc 和FaFbFaaFc 或者 TaTbFaaFc 和FaFbTaaTc
例如:a2=,b=1,c=2 和 a=-1,b=-1,c=1
五、路径覆盖
每一条路径都要执行一遍,关注的是起止点之间的路径。
如题:1-2-6 1-2-4-5 3-4-5 3-6