考考你:圈复杂度计算 及 用例设计
此图的圈复杂度是多少?测试用例如何设计?圈复杂度相关文章:
http://q.sohu.com/forum/5/topic/1639825V(G)=9
代表至少有8条测试路径,怎样设计路径,走最少的路完成同样的事?
[ 本帖最后由 higkoo 于 2008-3-26 13:54 编辑 ]
回复
楼主:我按:V(G)=E-N+2,18-10+2=10(A到B,A到C未标记的P或F边算在内了)
若是按判定结点数+1得出来是8 :)
判定结点数+1不适用于:switch语句。
我的答案:
用例:ACA
ABA
ABCB
ACDC
ACDED
ACDEF
ACDEFD
ACDEFGF
ABCDEFG
刚好9条,看看是不是每个路径都走到了?
[ 本帖最后由 higkoo 于 2008-3-26 13:57 编辑 ]
回复 3# marysnow 的帖子
marysnow:我把我的用例做出来了,9条,如果是10条,那么我的用例应该会有遗漏的,你看看有没问题?
节点法只适合两种分支的节点。目前我这个图算比较简单的,也全部只有两级分支的。
我的一个同事按区域算,也是10条
[ 本帖最后由 higkoo 于 2008-3-26 13:58 编辑 ] V(G)=10.
方法1:图中共有10个域;
方法2:图中18条边,10个节点,所以V(G)=18-10+2=10;
方法3:图中共有8个分支节点,节点C分出去了3条分支,所以C节点应该看作两个分支节点,就是有9个分支节点了,那么圈复杂度是9+1=10.
回复 6# 的帖子
A节点实际上不算是一个节点这个图有点特别,就是A可以经过B再到C,也可以直接到C点
我数了,圈数是10个,但路径是9条,抽时间我再好好研究一下,这图确实有点蹊跷。
我搞通了就写到博客里!
页:
[1]