针对以下C语言程序,请按要求回答问题。 下面是一个简单的C语言程序: int funcl(int a,b,c) { int k=1; if((a>0 || b<0)) k=k+a; else k=k+b

admin2013-03-13  23

问题 针对以下C语言程序,请按要求回答问题。
   下面是一个简单的C语言程序:
   int funcl(int a,b,c)
   {  int k=1;
      if((a>0 || b<0))    k=k+a;
      else k=k+b;
      if(c>0) k=k+c;
      return k;
   }
设计测试用例,分别使函数的各种逻辑覆盖率尽量达到100%。如果认为该函数的某种逻辑覆盖率无法达到100%,需要说明原因。

选项

答案经过分析不难知,上面这个程序包含: 1)5个语句:每行一个语句; 2)3个条件:a>0;b<0;c>0; 3)4个分支:有两个if语句,每个if语句有两个分支; 4)6个条件组合:条件表达式(a>0) || (b<0)共有两个条件a>0和b<0,故有4个条件组合;条件表达式(c>0)只有一个条件c>0,故有两个条件组合。所以该程序共有6个条件组合; 5)4条路径:从程序的入口到出口的路径共有4条,分别是: Path1:1—2—3—5—6—8 Path2:1—2—3—5—7—8 Path3:1—2—4—5—6—8 Path4:1—2—4—5—7—8

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

最新回复(0)