⽩盒测试⽤例设计⽅法之判定覆盖
判定覆盖也被成为分⽀覆盖(Branch Coverage)是设计⾜够多的测试⽤例,使得程序中的每⼀个判断⾄少获得⼀次“真”和⼀次“假”,即使得程序流程图中的每⼀个真假分⽀⾄少被执⾏⼀次。使设计的测试⽤例保证程序中每个判断的每个取值分⽀(ture or fal)⾄少经历⼀次。纯利率
上杉景胜
使⽤此准则测试⼩程序,只需要涵盖路径ace和abd,或涵盖路径acd和abe,就可以使得两个判定为“真”和为“假”的分⽀都执⾏⼀次。如果选择后⼀种情况,⽣成的⽤例及其遍历的路径如下:
⽤例1:A=3,B=0,X=3 acd
执⾏⽤例1 ,判定(A > 1 and B == 0)为真,执⾏X = X / A ,X =3/3=1;冬天玩什么
如何理解创新
判定(A == 2 or X > 1)为假,不执⾏X = X + 1 ; 覆盖路径acd,序结束
⽤例2:A=2,B=1,X=1 abe
执⾏⽤例2 ,判定(A > 1 and B == 0)为假,不执⾏X = X / A ;
法式甜品
判定(A == 2 or X > 1)为真,执⾏X = X + 1,x=1+1=2 ; 覆盖路径abe,程序结束
我们仅有50%的可能性遍历到X值未发⽣改变的路径,即,只有我们选择涵盖路径ace和abd的情况,⽽不是涵盖路径acd和abe时。对应的测试⽤例如下:
⽤例1:A=2,B=0,X=2 ace
忆钱塘江
rush是什么执⾏⽤例1 ,判定(A > 1 and B == 0)为真,执⾏X = X / A ,X =2/2=1;
判定(A == 2 or X > 1)为真,执⾏X = X + 1 ,x=2+1=3; 覆盖路径ace,程序结束
⽤例2:A=3,B=1,X=1 abd
执⾏⽤例1 ,判定(A > 1 and B == 0)为假,不执⾏X = X / A ;
判定(A == 2 or X > 1)为假,不执⾏X = X + 1 ; 覆盖路径abd,程序结束
【优点】:分⽀(判定)覆盖具有⽐语句覆盖更强的测试能⼒。同样分⽀(判定)覆盖也具有和语句覆盖⼀样的简单性,⽆须细分每个判定就可以得到测试⽤例。
【缺点】:往往⼤部分的分⽀(判定)语句是由多个逻辑条件组合⽽成,若仅仅判断其整个最终结果,⽽忽略每个条件的取值情况,必然会遗漏部分测试路径。判定覆盖仍是弱的逻辑覆盖。
羽毛球比赛作文