Shows the requirements traceability through tests, test runs and defects.
To use this report, you must enable Requirement Coverage for your project. See how in Configure Jira project to be used as Requirements project.
This report enables you to follow the life of a requirement in both forwards and backwards direction (i.e., from its origin all the way through tests, test runs and defects). It facilitates 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
How to use
This report is accessible either from the Xray Reports icon on the project's left sidebar or from the standard Reports icon, which includes other kinds of reports besides Xray.
At the top of the report you'll find three areas related with the report and with the data shown in the report.
- A: Analysis & Scope, for choosing how to analyze the entities
- B: Filter, for selecting the source data
- C: visualization information and options
- D: quick filter based on calculated coverage for the defined scope on (A)
Source requirements issues can be directly provided (within section B) using the requirement fields configured in the Basic tab or the JQL written in the Advanced tab.
Xray Enterprise Feature
Cross-project reports is a feature of Xray Enterprise. 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.
By default, the Basic tab provides the following fields:
- Project: Select multiple projects to analyze (Only available in Xray Enterprise)
- Fix Version: Version assigned to requirements
- Sprint (Only if Jira Software is installed): Sprint assigned to requirements
- Component: Components assigned to requirements
- Status: The issue's workflow status
- Resolution: The issue's workflow resolution
- Contains text: Filter requirements by text
By clicking on More, it's possible to manage which fields will be used to filter the requirements:
- Selecting fields will enable to filter further the requirements
- Unselecting fields will remove them from the dialog and thus from the search criteria
The default fields cannot be removed from the dialog
Alternatively to the Basic, the Advanced tab offers the possibility of filtering the requirements via JQL:
If you wish, you can clear the filter in order to see all Requirements once again. You can do this by clicking on the Clear button and then press Apply.
With section (D) it is possible to filter out requirements based on their current coverage status for the scope defined in (A). By default, all possible coverage status are unchecked meaning that all requirements will be shown no matter in which coverage status they are. You can click on one or more statuses 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 amount of requirements. This gives you the ability to quickly find and analyze the requirements having problems or the ones that are not yet covered, for example.
There is also an options menu (section C) where you can choose the visualization type for the report:
- Requirement Presentation
- Hierarchical - 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 need only to include the parent requirements (e.g "Epic")
- Flatten - the requirement issues will not consider the parent/child relationship. All parent and child requirements will be considered and showed at the same level in the report, as long as the filter includes them
- Hide Test Runs: hides the Test Runs column; this is quite useful when you are using Continuous Integration and you have multiple runs
On the left side (section A), it's possible to define the analysis strategy, i.e., the way you want to analyze the selected/filtered requirements. You can choose to analyze either by Version or Test Plan, and complement it with a Test Environment.
If you choose analysis by Version, then only the Test Executions for the specified version are taken into account.
If you choose analysis by Test Plan, 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, then it considers only the executions within that Environment.
When you choose analysis by Test Plan, 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).
Understanding the report
The issues and values that are shown in the report take into account the options selected for analysis, namely, the relevant Test Executions and corresponding Test Runs and defects.
The report not only shows the traceability between entities, but it also presents some calculated values for the selected options. For example, the requirement status and the Test status that are shown in the Requirements and Tests columns, respectively.
|"requirements" and the calculated requirement status, taking into account the options selected for analysis|
|Tests||Tests and the calculated status, taking into account the options selected for analysis|
|Test Runs and their status from all related Test Executions|
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 with a specific Test Run) contain all defects associated with the Test. 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" which may or not impact your version.
In Continuous Integration scenarios, with thousands of 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:
- use carefully the "Load all" option especially if "Hide Test Runs" is unchecked (this option is available at the top-right side of the report page);
- hide Test Runs column in the report, if the number of runs is considerable 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.
In the following example you can see the hierarchical relation between an Epic and some Stories (hierarchical presentation should be enabled in the report settings - section D). Once enabled the hierarchy that can be viewed as part of the report, supports a depth of up to 5 levels of requirements.
Note: 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 on Export and select To csv.
Sharing the Report
The report can be shared by copying and sending the URL located in the browser's address bar.
When opening the report, the Analysis & Scope, Filter and Requirement Presentation options will be automatically populated with the values provided in the URL.