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