Xray offers integration with Structure, enabling the ability to manage Test Sets, Test Executions and Test Plans.

Features and Limitations

The current integration allows you to:


It's not possible to:

Using Structure vs Test Repository/Test Plan Board

Since Xray v3.0, you can use the Test Repository to organize Tests hierarchically in folders at the project level; you may also organize Tests, in an independent way, at Test Plan level, for each Test Plan.

The question arises: which approach should you use? Organize entities using Structure add-on or using Xray built-in capabilities?

Let's see the different and summarize the characteristics of each approach, focused on the related entities.



StructureXray's Test RepositoryXray's Test Plan Board
Pros
  • can manage different entities (e.g. stories, Tests, Test Executions, etc)
  • can be used to have an high-level visual overview, specially for teams not used to Jira, starting at the version, then seeing all entities associated to, organized in some way
  • not bound to a specific project, thus each "structure" can have issues from different projects
  • can be used alternatively or complementarily to Test Sets
  • can manage entities from several projects in the same structure (this can be a pro/con, depending on the perspective)
  • can have the same issue multiple times within a given structure (this can be a pro/con, depending on the perspective)
  • can be used complimentarily with Test Plan Board (i.e. manage the project/version related entities in a structure and manage the organization of the Test Runs inside each Test Plan Board)

  • focused just on organizing Test cases of each project
  • not bound to execution aspects
  • used as means to create or add Tests to existing entities (e.g. create Test Executions, create Test Plans)
  • can't have the same issue multiple times within the Test Repository (this can be a pro/con, depending on the perspective; we see it as an advantage, since it simplifies its management)
  • focused on organizing the Test cases of each Test Plan
  • gives the ability to track down the results on a per folder basis, within the Board
  • easily rank Tests visually and take that ranking into account for new scheduled Test Executions
  • gives the ability to analyze the results per Test Environment
  • can contain Tests from several projects
  • can't have the same issue multiple times within the Board (this can be a pro/con, depending on the perspective; we see it as an advantage, since it simplifies its management)
Cons
  • can't create folders within Xray entities (e.g. you can just see/manage the Tests associated with a Test Execution)
  • independent organization, i.e. does not integrate neither with the Test Repository nor the Test Plan Board concepts and their organizations
  • unable to evaluate results for certain Test Environments
  • unable to see/manage Test Runs nor execute them immediately
  • unable to easily create other entities (e.g. Test Executions) for the Tests within some folder
  • does not provide an high-level overview of the project or a project version and all the related entities associated with that version
  • unable to manage entities from several projects in the same Test Repository (this can be a pro/con, depending on the perspective)
  • does not provide an high-level overview of the project or a project version and all the related things


Installation

In order to obtain the new extenders that Xray provides, you need to:

  1. Install Structure plugin version 3.4.x or above;
  2. Install Xray version 2.1 or above.

Note: If you already had Xray before you installed Structure, you need to restart your Jira server.

For more information about the Structure plugin, refer to its documentation here.

Adding Xray Extender to the Structure:

1. Set your structure to Automation

2. Choose the correct extender

3. Choose the options to enable, including Xray specific actions, and click "Apply" on the dialog

You should see a new entry in the structure, similar to this one:

Settings

Whenever adding the Xray Extender or whenever editing an already existing one (by double clicking on it), you may have several Xray Actions that are in fact options that you can enable:

Recommended Setups

The way you use Structure will vary depending on your team needs.

Within this section you may see some possible setup scenarios.

Scenario 1

The following example focus on these needs:



Setup Automation as follows:


Setup Xray Extender settings:

Actions

Xray provides specific actions that will interact and integrate with changes made on Structure. These actions must be invoked explicitly.


When moving a Test to different issue types, the Test will not be removed from source issue.

Example: When moving Test A from Test Set B into Test Execution C, the Test will be added to Test Execution C, but not removed from Test Set B.

Whenever doing action using Structure, you may be prompted to perform one of multiple available actions. Please choose the proper action or else you may not obtain what you were expecting for.

For example, if you add a Test Execution underneath a Test Plan, or if you add some Tests to a Test Plan, you may be prompted with a dialog similar to the following one. If you are aiming to perform Xray related actions, please choose the one containing the Xray icon. If you choose "Move within ...", then the item will be moved visually within the structure but no interaction will be made with Xray.

Pre-Condition

With the Extender added, you can now do the following actions:

Test Set

With the Extender added, you can now do the following actions:


Test Execution

With the Extender added, you can now do the following actions:


Sub-Test Execution

You may perform similar actions to the Test Execution. Please see above.

Test Plan

With the Extender added, you can now do the following actions:


Other features

Association between Tests and requirements

Since the association between Tests and requirements is done using the "Tests" link, you can take advantage of the built-in Structure extender for dealing with linked issues and therefore, manage this association.

For this, you must have "Automation" enabled. Choose "Extend with..." and then "Linked issues...".

Then, choose the "Tests" link type.


As soon as you do this, you're able to see the association between Tests and requirements, as shown below. You can see the story being validated by the manual Test.


You can also link your Test with other requirements just by dragging them under the Test and choose the action that will create the proper issue link between the Test and the requirement.





If you want, you can also manage the association from the opposite end, by looking from the requirement's perspective.

This will allow you to see and manage the Tests that validate a given requirement.

For this, you just need to create an extender for the "Tested by" link type.


Association between Sub-Test Executions and requirements

Sub-Test Executions are created as sub-tasks for requirement issues. You can take advantage of the built-in Structure extender for dealing with sub-tasks and therefore, see this association.

For this, you must have "Automation" enabled. Choose "Extend with..." and then "Sub-tasks...", and then the Sub-Test Execution issue type.


Afterwards, you're able to see all the Sub-Test Executions created in the context of a requirement issue that is part of the structure.


Show requirement and test statuses

You can include information about the status of your "requirements" and its current state, along with the latest status for the corresponding Tests, in the issues being shown in the structure.

For this, you need to add the "Requirement Status" and the "TestRunStatus" columns, which correspond to the "Requirement Status" custom field of requirements and the "TestRunStatus" custom field that is available for Test issues, respectively.

Please make sure that those custom fields are configured in Xray (under "Custom Field Preferences" admin settings) to show the respective information in the same way (i.e., for the same version). Refer to this configuration page, the FAQ or Using custom fields if you have questions about these fields.


Show progress information of Test Executions and Test Plans

You can include information about the progress (i.e. the "overall execution status") of (Sub) Test Executions or Test Plans. For this, you need to include the proper custom fields: "Test Execution Satus" and "Test Plan Status", respectively. More information on these fields can be found here.

Note: you need to have the latest version of Structure installed.


Show status overview of Tests contained within Test Sets

You can include information about the status of the Tests belonging to a Test Set, by including the "Test Set Status" custom field as a column. Although Test Sets are not related with execution aspects, sometimes it may be quite useful to have an idea how certain groups of Tests (i.e. the ones that you have in some Test Set) are.

Please make sure this custom field is configured properly in Xray (under "Custom Field Preferences" admin settings), to show the status of Tests for the version you want to.

More information on this field can be found here.

Note: you need to have the latest version of Structure installed.


Learn more

For specific questions concerning Structure, please use Structure app support channel.

Please refer to the following resources for more information: