一、测试计划(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= \t",a,b);14 if(j%linenum==0)15 printf("\n");16 break;17 }18 case 2: 19 {20 printf("%d-%d= \t",a,b);21 if(j%linenum==0)22 printf("\n");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= \t",a,b);14 15 break;16 }17 case 2: 18 {19 printf("%d-%d= \t",a,b);20 21 break;22 }23 default:{ "输出有误!";}24 } 25 if(i%linenum==0)26 {27 printf("\n");28 }29 }30 31 32 }
再次测试结果为
可发现用户请求与实际输出相同
3.当输入总数为0时
4.经改善能够完成用户需求