This topic explains how to use C++test to calculate metrics.
Sections include:
About Metrics
C++test 's metrics analysis calculates various metrics for your code to help you assess your code base and monitor changes. More specifically, calculating and tracking metrics helps you to:
- Better understand code complexity and what other classes a change in the code may affect. This helps you make more informed decisions as to how to modify, refactor, and test it.
- Identify some of the symptoms of poor design.
Calculating Metrics
To calculate metrics:
- Review the Built-in> Metrics Test Configuration. If you want to customize the metrics that are checked or their acceptable ranges, create a Test Configuration with your preferred metrics settings.
- For general procedures related to configuring and sharing Test Configurations, see Configuring Test Configurations and Rules for Policies.
- For details on customizing metrics settings, see Customizing Metrics Settings.
- To see the description of a specific metric, right-click it and choose View Documentation from the shortcut menu.
- Start the test using the preferred Test Configuration.
- For details on testing from the GUI, see Testing from the GUI.
- For details on testing from the command line, see Testing from the Command Line Interface.
- Review and respond to the metrics calculations.
- Project-level metrics will be reported in the UI and in reports. For more details, see Generating an XML Report with Metrics Data.
- If you configured C++test to report tasks for out of range metrics (by enabling the Test Configuration’s Static> Metrics tab Report tasks for metrics values out of acceptable ranges option), any out of range metrics will be reported in the Fix Static Analysis Violations category of the Quality Tasks view.
- For details, see Reviewing and Responding to Metrics Measurements.
Generating an XML Report with Metrics Data
C++test Server edition can generate an XML report with metrics summary information, as well as individual class and method detail data where applicable.
From the GUI
To configure XML metrics reporting from the GUI:
- In the report preferences dialog, enable Add metric details to XML data.
From the Command Line
To configure XML metrics reporting from the command line:
- Modify your local settings file to use the option
report.metrics_details=true
.- For details on local settings files, see Local Settings (Options) Files.
Reviewing and Responding to Metrics Measurements
This topic covers how to analyze C++test’s metrics calculations.
Sections include:
- Accessing Metric Measurements
- Identifying Metrics Out of the Acceptable Range
- Reviewing an Extreme Element
- Learning About the Available Metrics
Accessing Metric Measurements
For tests run in the GUI, metric measurements are reported in the Metrics view. If this is not displayed, choose Parasoft> Show View> Metrics.
For tests run from
cpptestcli
, metric measurements are reported in the Metrics section of the report (if the Publish metrics statistics in reports option is enabled in the Test Configuration’s Static> Metrics tab). In the Metrics view, you can use the project tree to determine what metrics are shown in the Metrics view (project, file, method, etc.). When applicable (e.g., at the file level), you can expand the tree to view children.
Shortcut menu items vary based on the level of metric you are viewing.
Customizing the Metrics View
You can customize the Metrics view in terms of:
- Items shown (all items, items out of recommended ranges, extreme items, items out of standard deviation).
- Resources shown (any resource, any resource in the same project, selected resources only, selected resource and its children).
- Columns displayed (sum, number of items, mean, standard deviation, maximum, extreme, extreme item name).
To customize these options, click the Filters button in top right of the Metrics view, then customize the options available in the dialog that opens.
Identifying Metrics Out of the Acceptable Range
If you configured C++test to report tasks for out of range metrics (by enabling the Test Configuration’s Static> Metrics tab Report tasks for metrics values out of acceptable ranges option), out of range metrics will be reported in the Fix Static Analysis Violations category of the Quality Tasks view.
Additionally, any metric that is outside of the recommended range will be marked in red in the Metrics view.
For tests run from the command line interface, out of range metrics are reported in the Static Analysis section of the report. If results were sent to Team Server, results can be imported into the GUI as described in Importing Results into the UI. They will then be available in the Fix Static Analysis Violations category of the Quality Tasks view.
Reviewing an Extreme Element
For results in the Metrics view, you can focus on the class or method that is reported as an "extreme element" by right-clicking a metric name, then choosing Show extreme items from the shortcut menu.
You can then open the related file by right-clicking the element and choosing Open File.
Learning About the Available Metrics
To see the description of a specific metric, right-click it in the Test Configuration’s Static> Metrics tab, then choose View Documentation from the shortcut menu.
Customizing Metrics Settings
This topic explains how to control metrics calculation and reporting.
Metrics settings can be set in the Test Configuration’s Static> Metrics tab. You can customize options such as:
- The types of metrics checked.
- The acceptable range for metrics.
- Whether metrics results are included in reports and uploaded to Team Server.
- Whether tasks are reported when metrics are found to be outside of the acceptable range.
For details on how to change these settings, see Metrics tab.