一、测试计划(BICEP)
Right-结果是否正确?
B-是否所有的边界条件都是正确的?
I-能查一下反向关联吗?
C-能用其他手段交叉检查一下结果吗?
E-你是否可以强制错误条件发生?
P-是否满足性能要求?
二、测试执行及结果
验证部分(只挑选其中一部分),根据用户输入的出题数目以及输出列数,完成用户请求。
1 for(int i=1;i<=num/linenum;i++) //每列出题数目 2 { 3 for(int j=1;j<=linenum;j++){ //控制出题列数,最后形成x*y的形式得到总的出题数目 4 5 int a=rand()%100; 6 int b=rand()%100; 7 8 w=1+rand()%2; //随机产生2种不同的题型 9 switch (w) 10 { 11 case 1: 12 { 13 printf("%d+%d= ",a,b); 14 if(j%linenum==0) 15 printf(" "); 16 break; 17 } 18 case 2: 19 { 20 printf("%d-%d= ",a,b); 21 if(j%linenum==0) 22 printf(" "); 23 break; 24 } 25 default:{"输出有误!";} 26 } 27 }
三测试计划及结果
1.首先输入几组正常数值,发现预期结果与实际输出相同;
2.输入总题数和要求输出列数不能整除时
此时发现输出的总题目为39道题,比总题少一题;
发现出题总数为8道,比总数少2道;
此时发现错误,将程序更改为
1 for(int i=1;i<=num;i++) 2 { 3 4 5 int a=rand()%numvalue; 6 int b=rand()%numvalue; 7 8 w=1+rand()%2; //随机产生2种不同的题型 9 switch (w) 10 { 11 case 1: 12 { 13 printf("%d+%d= ",a,b); 14 15 break; 16 } 17 case 2: 18 { 19 printf("%d-%d= ",a,b); 20 21 break; 22 } 23 default:{"输出有误!";} 24 } 25 if(i%linenum==0) 26 { 27 printf(" "); 28 } 29 } 30 31 32 }
再次测试结果为
可发现用户请求与实际输出相同
3.当输入总数为0时
4.经改善能够完成用户需求