Logiscope-Audit函数度量元

发表于:2009-10-08来源:作者:点击数: 标签:度量函数
1 前言 本文挡描述的是 Logiscop e——Audit中函数作用域常用度量元的具体含义。 对每个度量元的解释分为以下几部分: 首先是该度量元的原文名称,后面是该度量元的代号,跟在后面的是Audit 质量 模型为该度量元设的参考值(用中括号括起。当然,对于这个范围
1 前言

本文挡描述的是Logiscope——Audit中函数作用域常用度量元的具体含义。

对每个度量元的解释分为以下几部分:

首先是该度量元的原文名称,后面是该度量元的代号,跟在后面的是Audit质量模型为该度量元设的参考值(用中括号括起。当然,对于这个范围值,我们可以对它进行修改),再往下就是对该度量元含义的具体解释。

2函数度量元

下面分别介绍函数作用域中各个度量元的具体含义。注意,下面讨论的所有问题都是站在一个函数的角度上的,这一点对于我们理解这些度量元很重要。

2.1 "Cyclomatic Number" : ct_vg       [ 1   ,  10 ]      

度量元名称:函数的圈复杂度。

解释说明:

函数圈复杂度的计算方法为:将函数流程图中各节点(开始和结束结点除外)的引出边的数量减去一后的值相加,最后再在这个和的基础上加一。可见,当一个函数中条件判断的地方越多时,它的ct_vg就会越大。

如果该值过大,会增大函数的复杂性,影响我们对函数的理解。

2.2 "Number of Branches" : ct_bran    [ 0 ,   0 ]     

度量元名称:函数中非结构化语句的数量。

解释说明:

非结构化语句包括:goto语句、在循环中使用的break、continue语句。

该度量元是为了使程序编写符合结构化的要求。

2.3 "Number of Declared Variables" : dc_lvars    [  0  ,   5 ]

度量元的名称:函数中定义的变量的数量。

解释说明:

在函数体内部定义的变量的数量。函数中局部变量定义的过多,会增大代码的复杂性,影响对函数的理解。

2.4 "Number of parameters" : ic_param       [ 0   ,   5 ]

度量元的名称:函数参数的数量。

解释说明:

函数的参数过多,会使函数易于受外部(其他部分的代码)变化的影响,从而影响维护工作。

函数的参数过多也会增大测试的工作量。

2.5 "Number of Direct Calls" : dc_calls    [ 0 ,   5 ]

度量元的名称:函数中调用其它函数的数量。

解释说明:

在函数体中调用其它函数的数量,对同一函数的多次调用计为一次。

该值过大,首先是会使函数易于受外部(其他部分的代码)变化的影响,从而增加维护工作的工作量。

其次,该值过大,也会增加阅读程序的人在理解程序上的困难。

2.6 "Number of Exits" : ct_exit    [ 0  ,   1]

度量元的名称:函数出口的数量。

解释说明:

也就是函数体中退出点的数量。

在一个函数中存在一个以上的出口会增加函数出错的可能性,建议单出口。

2.7 "Number of Distinct Uses of External Attributes" : ic_varpe    [ 0 ,  2 ]

度量元的名称:函数中使用其它类的数据成员的数量。

解释说明:

所谓函数中使用的其它类的数据成员的数量,也就是在函数体中对外部类(与该函数所属的类不是同一个类)的数据成员的使用数量,对同一数据成员的多次使用计为一次。

这个度量元的用意也很好理解,就是为了尽量减少函数与其它类的耦合关系。

2.8 "Number of paths" : ct_path    [ 1  ,   60 ]

度量元的名称:函数中执行路径的数量。

解释说明:

函数中执行路径过多,会极大的增大测试的工作量。

原文转自:http://www.ltesting.net