Introduction

To use this report, you must enable Requirement Coverage for your project.

The Xray Requirement Traceability report shows the Requirements traceability through Tests, Test Runs, and Defects.

This report enables you to follow the life of a Requirement in both forward and backward directions (i.e., from its origin all the way through Tests, Test Runs, and Defects). It facilitates the analysis of the overall Requirements coverage status.

Possible usage scenarios:

  • Make full traceability analysis, from Requirements <=> Tests <=> Test Runs <=> Defects.
  • Evaluate the Requirement status for a given version and see all linked (open/closed) Defects.
  • See the Tests and Test Runs that cover each Requirement, and analyze how that contributes to the overall Requirement status.
  • Analyze the Requirements and related Executions and Defects in a given Test Environment.
  • See what Defects are impacting the Requirements or a subset of the Requirements of a specific version.

Operations

Report Access and Usage

With the Requirement Coverage Already Enabled

On the top menu of your Jira Data Center instance, click Projects and select a project (Figure 1 - 2).

Figure 1 - Access

Figure 1 - Access

A menu will open on the left side of the screen. There, click Reports (Figure 1 - 3). Several options will appear on the screen (Figure 2). Scroll down and click the Requirement Traceability Report (Figure 2 - 1).

Figure 2 - Access

Figure 2 - Access

The Requirement Traceability screen will open (Figure 3).

Select the Scope, Version, and Environment (Figure 3 - 1) and apply filters, if you want (Figure 3 - 2).

Figure 3 - Report

Figure 3 - Report

Click Generate Report (Figure 3 - 3).


The report will appear immediately (Figure 4 - 4).

Figure 4 - Report

Figure 4 - Report

Without the Requirement Coverage Enabled

If you are working on a Project that doesn't have the Requirement Coverage enabled, and try to access the Requirement Traceability report, you will see a warning (Figure 5 - 1).

To be able to access/generate a Requirement Traceability report, you have to enable the Requirement Coverage for that project first.

Figure 5 - Disabled

Figure 5 - Disabled

Reading the Report

At the top of the Requirement Traceability report, you'll find three areas related to the report and the data shown there:

  • Figure 4 - 1: analysis and scope, for choosing how to analyze the entities.
  • Figure 4 - 2: filter, for selecting the source data.
  • Figure 4 - 3: quick filter based on calculated coverage for the defined scope on Figure 4 - 1.
  • Figure 4 - 4: main report areas.
  • Figure 4 - 5: report visualization information and options.

Source Data

Source Requirements Issues can be directly provided (Figure 4 - 2) using the Requirement fields configured in the Basic tab (Figure 6 - 1) or the JQL written in the Advanced tab (Figure 6 - 2).

Xray Enterprise Feature

Cross-project reports is an Xray Enterprise feature. If you do not have Xray Enterprise installed, the project filter is not available, and this report can only be generated with a single project.

If you have Xray Enterprise, it is mandatory to select at least one project before generating the report.

Figure 6 - Fields

Figure 6 - Fields


By default, the Basic tab (Figure 6 - 1) provides the following fields: 

  • Fix Version (Figure 6 - 3): version assigned to Requirements.
  • Sprint (Figure 6 - 6): sprint assigned to Requirements (only available if Jira Software is installed).
  • Component (Figure 6 - 4): components assigned to Requirements.
  • Status (Figure 6 - 7): the Issue's workflow status.
  • Resolution (Figure 6 - 5): the Issue's workflow resolution.
  • Contains text (Figure 6 - 8): filter requirements by text.

By clicking More (Figure 6 - 9), it's possible to select which fields will be used to filter the Requirements (Figure 7 - 1):

  • Selecting fields will enable further filtering of the Requirements.
  • Unselecting fields will remove them from the dialog and thus from the search criteria.

Figure 7 - More

Figure 7 - More

The default fields cannot be removed from the dialog.

Alternatively, to the Basic tab (Figure 6 - 1), the Advanced tab (Figure 6 - 2) offers the possibility of filtering the requirements via JQL (Figure 8 - 1):

Figure 8 - Advanced

Figure 8 - Advanced


If you wish, you can clear the filter to see all Requirements once again: click the Clear button (Figure 6 - 10) and then press Apply (Figure 6 - 9).

Quick Filters

In the Quick Filters section (Figure 9 - 1), you can filter out Requirements based on their current coverage status for the scope defined. By default, all possible coverage statuses are unchecked, meaning that all Requirements will be shown no matter of which coverage status they are. You can click on one or more statuses (Figure 6 - 7) and, in that case, Requirements will be filtered out, and they'll show if they match one of the selected statuses.

Next to each coverage status, you can quickly evaluate the total number of Requirements. This allows you to quickly find and analyze the Requirements that have problems or the ones that are not yet covered, for example.

Figure 9 - Filters

Figure 9 - Filters

Options Menu

There is an options menu (Figure 9 - 3), accessible via the gear icon (Figure 9 - 2) where you can choose the visualization type for the report:  

  • Requirement Presentation:
    • Hierarchical (Figure 9 - 3) - the parent/child relationship between Requirements will be shown in the report, up to two levels (e.g. Epic => Story). In this case, the filter needs only to include the parent requirements (e.g. "Epic").
    • Flat (Figure 9 - 3) - the Requirement Issues will not consider the parent/child relationship. All parent and child Requirements will be considered and shown at the same level in the report, as long as the filter includes them.
  • Hide Test Runs (Figure 9 - 4): hides the Test Runs column; this is quite useful when you are using Continuous Integration and you have multiple runs.

Analysis

On top of the report (Figure 9 - 5), it's possible to define the analysis strategy, i.e., the way you want to analyze the selected/filtered Requirements. By clicking the respective field (Figure 9 - 5), you can choose to analyze either by Version or Test Plan and complement it with an Environment.

  • If you choose analysis by Version (Figure 10 - 1), then only the Test Executions for the specified version are considered. 
  • If the Environment is specified (Figure 10 - 2), then it considers only the executions within that environment. Click Apply (Figure 10 - 3) when you're done.

Figure 10 - Version

Figure 10 - Version


  • If you choose analysis by Test Plan (Figure 11 - 1), then only the Test Executions (and related Tests and results) for the given Test Plan are considered for the calculation of the coverage status of each requirement. 
  • If the Test Environment is specified (Figure 11 - 2), then it considers only the executions within that environment. Click Apply (Figure 11 - 3) when you're done.

When you choose analysis by Test Plan (Figure 11 - 1), the Requirements are not filtered in any way. Therefore, if you want to restrict the list of Requirements that are being shown (e.g., just show the Requirements being indirectly covered by the Tests belonging to a Test Plan), you must always use the Filter options and eventually, some saved filter for that purpose (such as the testPlanRequirements JQL function).

Figure 11 - Test plan

Figure 11 - Test plan

Understanding the Report

The Issues and values that are shown in the report consider the options selected for analysis, namely, the relevant Test Executions and corresponding Test Runs (Figure 12 - 3) and Defects (Figure 12 - 4).

The report not only shows the traceability between entities but also presents some calculated values for the selected options. For example, the Requirement status (Figure 12 - 5) and the Test status (Figure 12 - 6) are shown in the Requirements (Figure 12 - 1) and Tests columns (Figure 12 - 2), respectively.

Figure 12 - Report

Figure 12 - Report


ColumnNotes

Requirements

Requirements and the calculated Requirement status, considering the options selected for analysis
TestsTests and the calculated status, considering the options selected for analysis

Test Runs

Test Runs and their status from all related Test Executions
Defects

Defects directly associated with the Test Runs, as well as those directly linked to the Tests (via a created Issue link) for the given version (through the AffectsVersion)

The Defects that appear on a separate row (i.e., that are not related to a specific Test Run) contain all defects associated with the Test (Figure 13 - 1). In other words, it contains all defects linked to the Test, including the ones reported for Test Runs done on a different environment. This allows you to see all "related defects" that may or may not impact your version.

Figure 13 - Defects

Figure 13 - Defects

Performance

In Continuous Integration scenarios, with thousands of Test Runs, showing all those Test Runs at the same time in this report may take some time and may overload your browser.

Xray will warn you beforehand whenever the total number of Test Runs exceeds a certain threshold.

Therefore, we advise you to hide the Test Runs column in the report (Figure 14 - 1), if the number of runs is considerably high (e.g. > 1000);  the amount of information may overload your browser, and it will be hard for you to analyze the report with all that information.

Figure 14 - Test run

Figure 14 - Test run

Hierarchy

In the following example (Figure 15), you can see the hierarchical relation between an Epic and some Stories (Figure 15 - 1). Once enabled, the hierarchy can be viewed as part of the report, and it supports a depth of up to five levels of Requirements. 

Figure 15 - Requirements

Figure 15 - Requirements


Requirements with Labels or Statuses configured to be ignored in the Requirements Coverage settings will not appear on this report.

Exporting the Report

The report can be exported to a CSV file, which will include all report rows (and not just the visible ones).

Click Export (Figure 16 - 1) and select one of the two CSV options (Figure 16 - 2):

  • Latest Test Runs.
  • All Test Runs.

Figure 16 - Export

Figure 16 - Export

Regardless of the option made above (Figure 16 - 2), a modal will open (Figure 17). Select the CSV delimiter (Figure 17 - 3) and click Export (Figure 17 - 3).

Figure 17 - Export

Figure 17 - Export

You will get the CSV report file on your machine immediately.


Sharing the Report

The report can be shared by copying and sending the URL located in the browser's address bar (Figure 17 - 1).

When opening the report, the Analysis and Scope, Filter, and Requirement Presentation options will be automatically populated with the values provided in the URL.