Understanding branch quality metrics

You can view quality metrics to monitor the health of your branch.

Branch quality metrics include the following information:

Guardrails

Monitor the number and severity of guardrail violations that were found in your branch. By investigating and resolving the violations, you can improve your branch's overall quality.

The Guardrails section displays the following information:

  • Weighted score: The score calculated by comparing guardrail warnings (weighted by severity and justification) against the total number of rules in the branch.
  • Warnings: The total number of guardrail warnings in the branch.
  • Severe: The number of severe guardrail warnings in the branch.

For more details about individual guardrail violations, select the Warnings tab.

Test coverage

Check how many of your branch rules are covered by tests of any kind.

The Test coverage section displays the following information:

  • Rules covered: The percentage of the branch rules covered by tests.

For more details about individual rules, select the Uncovered rules tab.

Unit testing

Monitor unit test results and see how many of your branch rules have unit test cases written for them.

The Unit testing section displays the following information:

  • Rules with unit tests: The percentage of the branch rules with unit tests.
  • Test pass rate: The percentage of unit tests written for the branch rules that passed.

For more details, select the Failed unit tests and Rules without unit tests tabs.

Merge conflicts

Investigate any potential merge conflicts to identify problems with your branch as early as possible.

The Merge conflicts tab displays the following information:

  • Total: The total number of potential merge conflicts between the branch and the main application.
  • Name: The name of a rule that is causing a potential merge conflict.
  • Rule type: The type of rule that is causing a potential merge conflict.
  • Base rule: The fallback rule that is selected by the conflicted rule's resolution.

Warnings

Investigate individual guardrail violation warnings to identify problems related to your branch.

The Warnings tab displays the following information:

  • Total: The total number of guardrail warnings in the branch.
  • Severe: The number of severe guardrail warnings in the branch.
  • Moderate: The number of moderate guardrail warnings in the branch.
  • Rule name: The name of a rule that is causing a guardrail warning.
  • Rule type: The type of rule that is causing the guardrail warning.
  • Ruleset: The ruleset that contains the rule that is causing a guardrail warning.
  • Severity: The severity status of the guardrail warning.
  • Warning type: The type of the guardrail warning.
  • Justified: The justification status of the guardrail warning.
  • Warning message: The guardrail warning message.
  • Introduced by: The user who introduced the rule that is causing the guardrail warning.

Uncovered rules

Investigate individual rules that are still uncovered by tests of any kind.

The Uncovered rules tab displays the following information:

  • Executable rules: The total number of executable rules in the branch.
  • Uncovered rules: The number of branch rules that are not covered by tests.
  • Rule name: The name of a rule that is not covered by unit tests.
  • Rule type: The type of rule that is not covered by unit tests.
  • Class: The class of the rule that is not covered by unit tests.
  • Ruleset: The ruleset that contains the rule not covered by unit tests.

Failed unit tests

Determine the causes of individual unit test failures.

The Failed unit tests tab displays the following information:

  • Total unit tests: The total number of unit tests in the branch.
  • Failed unit tests: The number of failed unit tests in the branch.
  • Test case name: The name of a failed unit test case.
  • Rule type: The type of rule that failed the unit test case.
  • Rule name: The name of the rule that failed the unit test case.
  • Class: The class of the rule that failed the unit test case.
  • Last run: The time when the failed unit test case was last run.
  • Result: The result of the failed unit test case.
  • Run history: The run history of the failed unit test case.

Rules without unit tests

Investigate the details of rules that are supported by unit testing but that still do not have unit test cases written for them.

The Rules without unit tests tab displays the following information:

  • Supported rules: The number of branch rules that are supported by unit tests.
  • Rules without unit tests: The number of supported rules without unit tests.
  • Rule name: The name of the rule without a unit test.
  • Rule type: The type of rule without a unit test.
  • Ruleset: The ruleset that contains the rule without a unit test.