逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,分别设计测试数据满足6种白盒测试逻辑覆盖方法。 #include\"stdio.h\" #include\"math.h\" void main( int m) {
int i,k;
scanf(\"%d\k=sqrt(m);
for (i=2; i<=k; i++)
if (m%i==0) break;
if (i>=k+1) else }
printf(\"%d is not a selected number\\n\printf(\"%d is a selected number\\n\
设计流程:
流程图——语句覆盖——判定覆盖——条件覆盖——判定/条件覆盖——条件组合覆盖——路径覆盖
1、流程图
2、语句覆盖:所有语句至少执行一次。测试用例如表所示。 测试用例输入 输出 i=2,m=9,k=3 i=3,m=9,k=3 i=3,m=4,k=2 i=3,m=4,k=2 b c d f 覆盖路径 T T1 F1 F P1(S-a-b-c-d-i-e-f-h-E) T2 T2 F T P1(S-a-b-f-g-E) 3、判定覆盖:每个判定结果至少执行一次。 测试用例输入 输出 i=2,m=9,k=3 i=3,m=9,k=3 i=3,m=4,k=2 i=3,m=4,k=2 i=2,m=4,k=2 i=2,m=4,k=2 i=3,m=9,k=3 i=3,m=9,k=3 b T F T F c T1 T2 d T f 覆盖路径 F1 F P1(S-a-b-c-d-i-e-f-h-T2 E) T P1(S-a-b-f-g-E) T F P1(S-a-b-e-f-h-E) T P1(S-a-b-e-f-g-E) 4、条件覆盖:每个判定中的每个条件可能出现的结果至少出现一次。 测试用例输入 输出 i=2,m=9,k=3 i=3,m=9,k=3 i=3,m=4,k=2 i=3,m=4,k=2 i=2,m=4,k=2 i=2,m=4,k=2 i=3,m=9,k=3 i=3,m=9,k=3 取值条件 T1,T2,T3,F4 F1,T4 T1,T2,T3,F4 F1,F4 具体取值条件 覆盖路径 i=2,i<=k,m%iP1(S-a-b-c-==0,i 因篇幅问题不能全部显示,请点此查看更多更全内容