针对以下C语言程序,请按要求回答问题。 下面是一个程序段(C语言),试设计基本路径测试的测试用例,设计出的测试用例要保证每一个基本独立路径至少要执行一次。 函数说明:当i_flag=0;返回i_count+100 当i_flag=1;返回

admin2013-03-13  26

问题 针对以下C语言程序,请按要求回答问题。
   下面是一个程序段(C语言),试设计基本路径测试的测试用例,设计出的测试用例要保证每一个基本独立路径至少要执行一次。
   函数说明:当i_flag=0;返回i_count+100
   当i_flag=1;返回i_count*10
   否则返回i count*20
   输入参数:int i_count int i_flag
   输出参数:int i_return
   程序代码如下:
   1 int Test(int i_count, int i_flag)
   2    {
   3      int i_temp=0;
   4      while(i_count>0)
   5      {
   6        if(0==i_flag)
   7          {
   8          i_temp=i_count+100;
   9          break;
   10       }
   11       else
   12       {
   13         if(1==i_flag)
   14       {
   15        i_temp=i_temp+10;
   16       }
   17     else
   18       {
   19        i_temp=i_temp+20;
   20       }
   21     }
   22      i_count--;
   23     }
   24    return i_temp;
   25    }

采用基本路径测试法设计一组测试用例,保证每个基本独立路径都至少执行一次。

选项

答案第一步,根据上述控制流图计算该程序的环路复杂性。 由图可以看出,判定结点数为3,边数为10,结点总数为8,故 V(G)=10-8+2=4 或V(G)=3+1=4 第二步,根据环路复杂度为4,可确定4条基本独立路径。 Path1:4—24 Path2:4—6—8—24 Path3:4—6—13—15—22—4—24 Path4:4—6—13一19—22—4—24。 第三步,设计测试用例。 根据上面4条基本独立路径,可以设计测试用例如下: 测试用例1: 输入数据:i_count=0,或者是i_count<0的某个值。 预期输出结果:i_temp=0。 测试用例2: 输入数据:i_count=1,i_flag=0。 预期输出结果:i_temp=101。 测试用例3: 输入数据:i_count=1,i_flag=1。 预期输出结果:i_temp=10。 测试用例4: 输入数据:i_count=1,i_flag=2。 预期输出结果:i_temp=20。 但这些测试用例是可以简化的,由于路径path1是path4的真子集,所以path1是可以不要的。故针对该程序最少的测试用例数为3,即上述测试用例2,测试用例3,测试用例4。

解析
转载请注明原文地址:https://kaotiyun.com/show/NiNZ777K
0

最新回复(0)