QAC静态代码测试度量指标

函数度量的关键指标

  • 从函数调用的函数数STCAL

1.1 概念:这个指标计算函数中函数调用的次数,只计算不同函数(对特定函数的多个调用实例被计算为一个调用),而不计算通过指针调用的函数。

  • 圈复杂度STCYC

2.1概念:圈复杂度可以用来衡量一个模块判定结构的复杂程度,其数量上表现为独立路径的条数,也可理解为覆盖所有的可能情况最少使用的测试用例个数。圈复杂度可应用在程序的子程序、模块、方法或类别。

2.2度量指标:

2.3 计算方法:点边计算法和节点判定法

2.3.1点边计算法

如上图所示,E表示控制流图中边的数量,N表示控制流图中节点的数量。

圈复杂度的计算公式为:V(G) = E - N + 2

If-else圈复杂度为2

2.3.2节点判定法

对应的计算公式为:V (G) = P + 1

其中 P 为判定节点数,常见的判定节点有:if 语句,while 语句,for 语句,case 语句,catch 语句,and 和 or 布尔操作,?: 三元运算符。

  • GO语句数量STGTO

3.1 概念:无条件跳转语句,可让程序直接跳转到任意标记位置。

  • 出口点数量STM19

4.1概念:这个度量是对软件中退出点数量的度量,通过计算返回语句来计算。没有返回语句的函数STM19值为0。这个函数是否声明有返回值无关(即返回void)。

4.2 举例

  • 调用此函数的函数数STM29

5.1 概念:这个度量定义为调用指定函数的函数数量,函数的调用次数是临界性的指示器,函数被调用次数越多,它就越关键,因此也就越可靠。

  • 嵌套深度STMIF

6.1 概念:控制结构中最大嵌套层次

6.2 度量指标:应介于1~5之间

6.3 计算方法:下述举例该嵌套深度STMIF为3

  • 函数参数的个数STPAR

7.1 概念:此指标计算函数实参列表中声明的形参数量

  • 路径复杂度STPTH

8.1 概念:该度量类似于Nejmeh的2 NPATH统计,给出函数控制流图中可能路径的上限。它是函数中非循环执行路径的数目。

8.2 度量指标:应介于4~200之间

PS 博客内容为个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部