静态度量

被测组件(CUT)的详细静态分析度量可以帮助您决定如何将测试按优先顺序排列。有一些用来分析组件体系结构、组件复杂程度和测试覆盖率的度量。

在选择了用来组成 CUT 的源文件之后,静态度量便显示在“新建 Java™ 组件测试”向导中。在此阶段,可以对数据进行排序,也可以隐藏和显示数据,以便确定最佳测试策略:

使用度量来计划测试

您可能会发现下列建议对于计划测试很有用:
  • 重点测试将提供最高覆盖率的组件。“外部使用”度量表示使用在类的外部定义的方法或属性的次数。此度量可以很好地指示对覆盖率有很大影响的那些类。通过测试“外部使用”分数很高且无需创建任何存根的类,使您可以快速测试占很大百分比的代码。另一方面,如果对那些类进行严格的单元测试(使用存根来隔离组件),则需要执行大量工作来创建许多存根。
  • 重点测试起关键作用的组件。让我们以诸如“内部使用”或“外部用户”度量为例,“内部使用”度量是指一个类中的公用属性数加上公用方法数;而“外部用户”度量是指使用该类的属性或方法的外部组件数。如果任何更改都是针对类进行的,则这些值越大,回归的风险就越大。因此,应该充分测试这些类。
  • 重点测试最复杂的组件。复杂程度指示器主要是圈复杂度(V(g))和代码中的“语句”数。通常,V(g) 的变化范围是 1 到 10,如果它的值为 1,则表示代码没有分支。
  • 即使您逐个测试类的所有方法,也务必定义类级别测试。但是这并不意味着需要测试每个类。例如,如果您具有紧耦合的一些类用来测试一个类,您需要为所有其它类创建存根,则可以考虑同时测试具有 3 到 10 个类的一个小集群。
  • 标识应该作为一个整体来测试的子系统或大集群。当子系统满足下列任一条件时,就应该将它作为一个整体来测试:
    • 需要将您的类具有的相互依赖性传递给另一个开发者。
    • 您具有一些互相交互的类,而在类级别测试期间已经为其它类创建了存根。
    使用“级别”指示符来评估应用程序的调用图中某个类的依赖性级别。
一旦执行了第一系列的测试,行覆盖率(“行数”度量)和应用于组件的测试数(“测试数”度量)就允许您标识先前测试尚未充分涉及到的任何组件。
注: 仅当先前已在使用概要分析的情况下运行了组件测试时,才计算行覆盖率度量。
相关参考
静态度量参考
组件测试静态度量首选项
反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.