Preconditions specify the conditions that need to be fulfilled in order to execute a test.

A Precondition is like defining the step "0" for your tests. This is very useful in many use cases where you have to start by doing exactly the same thing. For example, if you are going to do something on a system, you most probably have to authenticate first, right? But sometimes, you have to do several things (e.g., restore the DB, authenticate) before going through your Test steps. And each of those things may be done and used independently, i.e., some Tests may require just restoring the DB, another may require just to authenticate, and others may require both or more. 


Precondition Types

There are three default Test Types:

  • Manual Type
  • Generic Type
  • Cucumber Type

Each of the Test Types has a Kind, the Kind of the Type of Precondition must be of the same Kind as the Type of the Test it is associated with.

Actions

Create

To create a new Precondition issue:

Step 1: Click the Create Issue at the top of the screen to open the Create Issue dialog box / page.

And in the old UI, click the "+" button on the left:

Step 2: Select the Project. On Issue Type, select Precondition.

Step 3: Type a Summary for the Precondition and complete all appropriate fields — at least, the required ones which are marked with an asterisk.

        

Step 4: When you are satisfied with the content of your Precondition, click the Create button. If you selected the Create another check box (above), a new Create Issue dialog appears. This issue is automatically pre-populated with your previous Precondition details, while leaving the Summary field blank.

Edit

Using the Inline Edit for Jira App

To Edit an existing Precondition issue using inline edit:

Step 1: On the Precondition page view, hover your mouse over a field and click it to Edit Inline.

Examples:
- You can hover on the actual Precondition Type, click it to enter the edit mode, and choose other available option on the selected field.
- You can hover on the Definition field, click it to enter the edit mode, and modify the contents.

Step 2: To save the changes, just click outside the field area to click the save button located in the bottom right corner of the editing field. 

Note: For Manual, Exploratory and Generic Precondition types some options are available in the edit mode:

Clone

Cloning a Precondition issue creates a new Precondition with all the information of the cloned Precondition, except its executions. Therefore, the cloned issue will not be associated with any Test issue.

To clone a Precondition issue, select the "Clone" action in the issue page:

After this, an additional dialog will be shown.

And after the issue is created, its page will be opened.

On some occasions the cloned issue page may open before the Xray information is actually cloned and as a result the new Precondition will appear empty.

When this happens the following information will be shown:

Change Precondition Type

When the Type of Precondition is changed, both the previous Info details and the associated Tests will be lost.

Create Tests

To create a Test directly associated with the current Precondition from the Precondition issue view screen:

Step 1: Open the Precondition issue view screen you want to create a Test with.

Step 2: Click Tests panel in the Preconditions Details section.

Step 3: Open Add Tests dropdown and click on New Test option.

Step 4: Type a Summary for the Precondition and complete all appropriate fields — at least, the required ones marked by an asterisk.

Step 5: Click Create.

Associate Tests

To associate Tests with a Precondition from the Precondition issue view screen:

Step 1: Open the Precondition you want to associate a Test with.

Step 2: Click Tests panel in the Preconditions Details section.

Step 3: Open Add Tests dropdown and click on Existing Tests option to open the Add Tests dialog.

Step 4: Select or search the Test issues to be associated with the Precondition:

Select Test Issues: Under the Select tab:

- Input the desired Test Issue Key on the Tests field
- Click on the Down Arrow on the Tests field and select the Test from its History Search list
- Click on the Search tab to use the Find Jira issues browser (more details here)

Search Test Issues: Under the Search tab:

- Select the desired Project and any other desired field such as Test Type, Contains, LabelFix Version, ComponentCoveringCovering Fix Version, Saved Filters and Workflow Status

- Click on the Search button after filling the browse fields to get a list of matching entries

Search Test Issues using JQL: Under the JQL tab:

- Write the desired JQL search
- Click on the Search button to perform the JQL search and to get a list of the matching entries (more details about JQL here)

Step 5: Click Add Selected to add the tests you have selected or Add All to add all the tests that were filtered by the search parameters.

Note: Only Tests that have the same kind as the Precondition will be associated.

Remove Tests

To remove Tests from a Precondition using the Precondition issue view screen:

Step 1: Open the Precondition from which you want to remove a Test.

Step 2: On the Tests table, click on the ... in desired Test row and then click Delete in the dropdown menu. You will be prompted with a confirmation dialog.

Bulk Operations

Xray provides the following bulk operations, with a limit of 100 rows, on the Tests table. 

  • Remove - Deletes all the selected Tests associations with a Precondition.

To execute these bulk actions:

Step 1: Open the Precondition issue.

Step 2: A checkbox should be displayed on each Test row and also the bulk actions button in the actions column header should appear after a test is selected.

Step 3: Selected the desired Test issues (until 100 rows).

Step 4: Click the bulk actions button located in the Actions column and choose one of the available actions.

        

Xray History

Any changes made to the Precondition data are recorded on the Xray History section. These include:

  • Changing the Precondition Type
  • Changing the Precondition Definition
  • Linking the Precondition with other entities (Tests)