环形复杂度

环形复杂度,第1张

环形复杂度也称为圈复杂度,它是一种为程序逻辑复杂度提供定量尺度的软件度量。 n环形复杂度的应用——可以将环形复杂度用于基本路径方法,它可以提供:程序基本集的独立路径数量;确保所有语句至少执行一次的测试数量的上界。 Ø独行旁立路径是指程序中至少引入了一个新的处理语句集合或一个新条件的程序通路。采用流图的术语,即独立路径必须至少包含一条在本次定义路径之前不曾用过的边。 n测试可以被设计为基本路径集的执行过程,但基本路径集通常并不唯一。

从档念橡前面学过的覆盖测试一节中可知,对于一个较为复杂的程序要做到完全的路径覆盖测试是不可能实现的。既然路径覆盖测试无法达到,那么可以对某个程序的所有独立路径进行测试,也就是说检验了程序的每一条语句,从而达到语句覆盖,这种测试方法就是独立路径测试方法。从控制流图来看,一条独立路径是至少包含有一条在其它独立路径中从未有过的边的路径。路径可以用控制流图中的节点序列来表示。 例如,在如图4-3所示的控制流图中,一组独立的路径是

path1:1 - 11

path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11

path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 - 11

path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11 路径 path1,path2,path3,path4组成了控制流图的一个基高橡本路径集

环形复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测度数量的上界。

环形复杂度的计算方法

* 可以用下列任何迅并一种方法计算环形复杂度

1、流图中的区域数等于环形复杂度

2、流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。

3、流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。

环行复杂度的用途

* 程序的环形复杂度取决于程序控制流的复杂亩告迹程度,也即是取决于程序结构的复杂程度。当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。

* 实践表明,模块规模以V(G)≤10为宜,也就是说,友明V(G)≤10是模块规模的一个更科学更精确的上限。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12329378.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存