软件工程课堂练习--四则运算单元测试

一、测试计划(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                         }
View Code

三测试计划及结果

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                     }
View Code

再次测试结果为

可发现用户请求与实际输出相同

3.当输入总数为0时

4.经改善能够完成用户需求

原文地址:https://www.cnblogs.com/caomeina/p/4339586.html