软件测试java类圈复杂度是什么意思

设计一个java类,要求:类中至少有两个以上方法,且至少有一个方法的圈复杂度为4或以上(注:可以不分解复合条件)。
这句话是什么意思? 两个方法是指类里面有两个函数对吧?! 方法的圈复杂度是什么意思?是要有4个elseif语句么?

圈复杂度(Cyclomatic Complexity)是一种代码复杂度的衡量标准。它可以用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,也可理解为覆盖所有的可能情况最少使用的测试用例数。圈复杂度大说明程序代码的判断逻辑复杂,可能质量低且难于测试和维护。程序的可能错误和高的圈复杂度有着很大关系。

两个方法是指类里面有两个函数对吧?!
是的

是要有4个elseif语句么?
不是的,但是如果你写成嵌套的四个else if,那么圈复杂度肯定超过4,圈复杂度的计算用很多工具可以辅助完成,比如eclipse metrics, java ncss等。

人工计算圈复杂度比较复杂,限于篇幅无法详细介绍,网上相关介绍很多,可以直接baidu检索
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-07
圈复杂度:用来衡量一个模块判定结构的复杂程度。不止是 if else, 循环也算一个,多分支的CASE也算