白盒测试的测试用例在大二学习软件工程的时候也是一个重点模块,但是上课没有太多时间做太多的测试用例,然后许久不用会搞乱,所以这里简单复盘一下。
白盒测试是结构测试,主要对代码的逻辑进行验证。
逻辑覆盖率:语句覆盖<条件覆盖<判定覆盖<条件-判定覆盖<组合覆盖<路径覆盖
例子
一、语句覆盖
最基础的覆盖,只要每一个执行处理框内的语句都能执行就可,不用关注判断逻辑。
如题:其路径为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
所以,其测试用例设计为:
例如:
逻辑覆盖率:语句覆盖<条件覆盖<判定覆盖<条件-判定覆盖<组合覆盖<路径覆盖