51Testing软件测试论坛

标题: 计算独立路径数 [打印本页]

作者: hnxt_hwj    时间: 2007-7-11 12:23
标题: 计算独立路径数
计算圈复杂度(独立路径数)的方法:
1、流程图中区域的数量对应于环形的复杂性
2、流程图形G的圈复杂度V(G)为
     V(G)=E-N+2
其中,E-是流程图形中的边数  N-是流程图形中的节点数
3、流程图形G的圈复杂度V(G)为:
   V(G)=P+1
其中,P是包含在流程图形中判断节点的数量。

void doWork(int x,int y,int z)
{
   int k=0,j=0;
   if((x>3) && (z<10))
   {
     k=x*y-1;
   }
   if((x==4) || (y>5))
  {
     j=x*y+10;
  }
  j=j/3;  
}

请帮忙计算以上代码的圈复杂度(独立路径数)
小弟根据以上代码画出流程图并计算出圈复杂度为3
但这段代码的独立路径数有4条呀
请高手指点。。。
作者: peimzh    时间: 2007-7-13 13:50
1  (x>3) && (z<10)  是一个与的关系,那么就相当于一个条件,并且的关系,那么这是一个判断节点
2  ((x==4) || (y>5)) 是一个或的关系,那么就相当于两个条件了,x==4可以,y>5也可以,那么就是两个判断节点了
3  3个节点数+1=4
作者: Spark.lee    时间: 2007-7-13 14:21
标题: 你难道不可以继续上次那个话题 为什么非要重新起个话题
别人回答你却不跟踪追问!!
问个什么啊
作者: peimzh    时间: 2007-7-13 14:28
F:\11.jpeg

[ 本帖最后由 peimzh 于 2007-7-13 14:56 编辑 ]
作者: songfun    时间: 2007-7-14 16:32
呵呵,这位同学提问的问题我今天上课讲过。


原帖由 hnxt_hwj 于 2007-7-11 12:23 发表
计算圈复杂度(独立路径数)的方法:
1、流程图中区域的数量对应于环形的复杂性
2、流程图形G的圈复杂度V(G)为
     V(G)=E-N+2
其中,E-是流程图形中的边数  N-是流程图形中的节点数
3、流程图形G的圈复杂度 ...

作者: songfun    时间: 2007-7-14 16:53
关键是要画对流程图和控制流图。
要注意一个是&&一个是||


原帖由 hnxt_hwj 于 2007-7-11 12:23 发表
计算圈复杂度(独立路径数)的方法:
1、流程图中区域的数量对应于环形的复杂性
2、流程图形G的圈复杂度V(G)为
     V(G)=E-N+2
其中,E-是流程图形中的边数  N-是流程图形中的节点数
3、流程图形G的圈复杂度 ...

作者: hnxt_hwj    时间: 2007-7-16 09:29
标题: 谢谢
非常感谢,小弟明白了
作者: hnxt_hwj    时间: 2007-7-16 15:32
标题: 控制流图
麻烦画出此题的控制流图




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2