环形复杂度

定义。。解释。。

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

环形复杂度的计算方法

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

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

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

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

环行复杂度的用途

* 程序的环形复杂度取决于程序控制流的复杂程度,也即是取决于程序结构的复杂程度。当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。
* 实践表明,模块规模以V(G)≤10为宜,也就是说,V(G)≤10是模块规模的一个更科学更精确的上限。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-27
环形复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测度数量的上界。
计算方法
环形复杂度的计算方法
*
可以用下列任何一种方法计算环形复杂度
1、流图G的环形复杂度V(G)=区域数
2、流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
3、流图G的环形复杂度V(G)=P+1,其中,P是流图中判定分支点的数目。
环形复杂度的用途
程序的环形复杂度取决于程序控制流的复杂程度,也即是取决于程序结构的复杂程度。
当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。
实践表明,模块规模以V(G)≤10为宜,也就是说,V(G)≤10是模块规模的一个更科学更精确的上限。
设计测试用例
路径1测试用例:

传入数据:i=2; j=3;
  预期结果:无限循环,没有结果(x=30;y=0)
路径2测试用例:

传入数据:i=2; j=0;
  预期结果:无限循环,没有结果(x=2;y=0)
路径3测试用例:

传入数据:i=2; j=0;
  预期结果:无限循环,没有结果(x=10;y=0)
路径4测试用例:

传入数据:i=2; j=0;
  预期结果:无限循环,没有结果(x=0;y=20)
路径5测试用例:

传入数据:i=-1; j=0(或者任意值)
  预期结果:i=-0; j=0
相似回答