higkoo 发表于 2008-3-26 10:55:36

考考你:圈复杂度计算 及 用例设计

此图的圈复杂度是多少?测试用例如何设计?

higkoo 发表于 2008-3-26 12:32:21

圈复杂度相关文章:

http://q.sohu.com/forum/5/topic/1639825

V(G)=9

代表至少有8条测试路径,怎样设计路径,走最少的路完成同样的事?

[ 本帖最后由 higkoo 于 2008-3-26 13:54 编辑 ]

marysnow 发表于 2008-3-26 13:15:16

回复

楼主:

我按:V(G)=E-N+2,18-10+2=10(A到B,A到C未标记的P或F边算在内了)
若是按判定结点数+1得出来是8    :)

判定结点数+1不适用于:switch语句。

higkoo 发表于 2008-3-26 13:18:23

我的答案:

用例:
ACA
ABA
ABCB
ACDC
ACDED
ACDEF
ACDEFD
ACDEFGF
ABCDEFG
刚好9条,看看是不是每个路径都走到了?

[ 本帖最后由 higkoo 于 2008-3-26 13:57 编辑 ]

higkoo 发表于 2008-3-26 13:26:52

回复 3# marysnow 的帖子

marysnow:
我把我的用例做出来了,9条,如果是10条,那么我的用例应该会有遗漏的,你看看有没问题?

节点法只适合两种分支的节点。目前我这个图算比较简单的,也全部只有两级分支的。

我的一个同事按区域算,也是10条

[ 本帖最后由 higkoo 于 2008-3-26 13:58 编辑 ]

xuanzhao 发表于 2008-3-27 15:05:31

V(G)=10.
方法1:图中共有10个域;
方法2:图中18条边,10个节点,所以V(G)=18-10+2=10;
方法3:图中共有8个分支节点,节点C分出去了3条分支,所以C节点应该看作两个分支节点,就是有9个分支节点了,那么圈复杂度是9+1=10.

higkoo 发表于 2008-3-27 19:47:09

回复 6# 的帖子

A节点实际上不算是一个节点

  这个图有点特别,就是A可以经过B再到C,也可以直接到C点

我数了,圈数是10个,但路径是9条,抽时间我再好好研究一下,这图确实有点蹊跷。

我搞通了就写到博客里!
页: [1]
查看完整版本: 考考你:圈复杂度计算 及 用例设计