单元测试

一、测试计划(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.经改善能够完成用户需求

 

 

 

posted @ 2016-03-13 15:26  琴弦0  阅读(118)  评论(0编辑  收藏  举报