Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
UI Expand
titleTable of Contents

Table of Contents

Introduction

Table of Contents
maxLevel4

...

Test parameterization is a powerful practice that allows the same test to be be executed multiple times with different parameters. Parameters are similar to input values (variables) that can change with each execution.

Without the ability to define parameterized testsTests, all values must be hard-coded into the specification, which makes making the test Test static and difficult to modify.  Static tests Static Tests lead to a lot of redundancy since you need to define and clone the same test Test for the different combinations of values needed to cover different various scenarios or variations of the same testTest.

By extracting the variability of the test Test specification into a table of test of test inputs and verifiable outputs, we are you effectively doing data-driven testing. Ideally, these tests Tests are automated. However, this might not always be always possible or viable, and manual tests can take advantage of Tests can also benefit from this methodology as well.

Parameterized

...

Let's start with an example:

Suppose we need to validate the login on a website with a set of valid and invalid usernames and passwords:

...

The following test cases need to be executed:

...

Login: admin

Password: 123123

...

Tests vs Test Environments

Although Test environments can be considered a particular case of parameterized Tests (since environments can be seen as parameters of Test cases), datasets might not be the best choice for environmental variables that are not embedded in the Test specification (e.g., manual Test Steps).

It is not good practice to use datasets with environment variables such as browsers, operating systems (OSs), databases, or devices. This is because:

  1. Test engineers often configure a specific setup (or environment) to execute a set of Tests. In this case, they might want to execute the Tests oriented to the environment rather than the Test case. This means executing all the Test cases first for one environment, then for another, and so on. Having all these environments within the same Test run is not ideal as users would have to jump from one Test run to another without finishing the execution.

  2. Test environments are usually independent variables or dimensions. For instance, consider the following Test environment: browser, database, and OS. If a Test case fails only in a specific browser, once the bug is fixed, you might not want to re-execute the same Test for all databases and OSs, as you are confident that the change did not affect these variables. With datasets, if one iteration fails, you need to re-execute all the iterations again (assuming you use a different Test run, of course).

Xray does not provide reports based on parameters.

In conclusion, if your parameters are environment variables that do not need to be included in the test specification, don't use datasets. Instead, use test environments.

Info

We plan to improve how test environments are managed in Xray, making it possible to specify or generate combinations of environments for different variables.

Working with Parameterized Tests

Example

Suppose you need to validate the login on a website with a set of valid and invalid usernames and passwords:

UsernamePasswordValid
admin123123valid
john.doe######invalid
jane.doejane123valid

The following Test cases need to be executed:

#

...

Login: john.doe

Password: ######

...

Login: jane.doe

Password: jane123

...

Instead of creating separate tests, test designers can instead create a single test with the following parameters: Username, Password, and Valid.

#ActionDataExpected Result
1Open the website.N/AThe main page is displayed and the user is able to can enter login credentials.
2Enter the following login and password, and press click the Login button.

Login:

${Username}

admin

Password:

 ${Password}

123123

The login is ${Valid}.

Parameterized tests in Xray are defined just like any other test with the addition of some parameter names within the specification. 

Parameters are embedded within the test specifications using the following notation: ${PARAMETER_NAME}. Parameter names are case-sensitive.

This notation is used to reference parameters within the test steps. You can reference parameters on the Action, Data, Expected Result, and even on any test step custom fields that are text-based.

Parameters are defined within datasets. However, it is possible to reference a parameter that is not yet defined (meaning it does not have a corresponding name within the dataset). In this case, the parameter will be highlighted in red.

Image Removed

Info

Currently, the test parameterization feature is only available for Manual Tests. Xray will support defining parameters and use datasets on BDD and generic test types as well.

Datasets

...

The parameters, along with their values, are defined within a dataset. A dataset is a collection of data represented with a tabular view where every column of the table represents a particular variable (or parameter), and each row corresponds to a given record (or iteration) of the dataset.

The number of rows in the dataset determines the number of iterations to execute. If the dataset contains a single row, there will be a single execution parameterized with the values defined on the dataset row.

Datasets can be defined in different entities and scopes. A dataset can be defined, edited, or simply viewed using the "Dataset" button located in each Xray entity or scope.

Parameter types

Parameters can have the following types:

  • Text - where the parameter value will be set using an open text field.
  • List - where the parameter value can be selected from a predefined list of options. 

List parameters can be created using either ad hoc or predefined lists.

Ad hoc lists are defined locally for each parameter, while predefined lists are created by administrators at different levels:

  • Global - managed by Jira administrators (to learn more about Global lists, click here).
  • Project - managed by project administrators (to learn more about Project lists, click here).

Global lists can not be used directly. These must be included in the project by the project administrator before they can be accessed within a dataset of that project.

Having predefined lists is useful if the list parameters are commonly used in multiple datasets. If multiple projects make use of the same list, you can also create a global list so that it can be used by different projects. This way you have a central place to manage common parameter lists.

Examples of predefined lists might be:

  • Profiles,
  • Users,
  • Roles,
  • Colors,
  • Credit card types,
  • Addresses,
  • ...

When creating a new list parameter using a predefined list, you can choose a list that is available within the current project. The current project is determined by the parent issue where the dataset is defined.

Combinatorial parameters

Combinatorial parameters are special parameters that will be combined with the remaining parameters (combinatorial or seeding parameters) to generate all possible combinations automatically. This prevents users from typing all the combinations when creating a dataset.

Seeding parameters are those parameters that describe fixed test cases. The seeding parameters will not be combined among each other, only with combinatorial parameters.

...

width20px

...

Let's consider the following example:

We create a test for checking if we can add books to a shopping cart in our online book store. We have parameters like Item, Price, Rating, In Stock, Condition, and Format. There are certain books we want to test (3 in this case). However, we would like to test all combinations of these books with the following parameters: Gift and Quantity

In this case, these will be the seeding parameters:

  • Item,
  • Price,
  • Rating,
  • In Stock,
  • Condition,
  • Format

Because we want to test these items with all the combinations of Gift and Quantity parameters, we can create these as Combinatorial parameters: 

  • Gift*
  • Quantity*

Combinatorial parameters are denoted with an asterisk (*) suffix. 

Image Removed

Xray will generate all possible combinations upon execution automatically. 

Image Removed

Dataset scopes

A dataset can be defined in the following entities/scopes:

  1. Test (default dataset)
  2. Test Plan - Test
  3. Test Execution - Test (Test Run)

The closest dataset to the test run will be the one used to generate the iterations, effectively overriding any dataset defined in higher levels:

Test Execution - Test (Test Run) > Test Plan - Test > Test (default)

The test dataset is the default. If there is the need to override or change this dataset you can do this at the planning or execution phases.

Image Removed

Dataset limits

  • Maximum number of #iterations per dataset: 1000
  • Maximum Number of #parameters per dataset: 20
  • A dataset can not contain duplicate rows.

Parameterized preconditions

Precondition issues can also be parameterized by including parameter names in the precondition specification.

The parameters will be unfolded on the execution screen, just like Test cases. For this, the dataset must have the same parameters, matched by name.

Image Removed

Execution

All iterations for a given test are executed within the context of the same test run. Each iteration can be expanded, and the steps executed individually. The step parameters will be replaced by the corresponding iteration values. The steps affect the iteration status that, in turn, affects the overall test run status.

Image Removed

Please check the Execution page for more details.

Parameterized tests vs test environments

Although test environments can be thought of as a particular case of parameterized tests (given that environments can be considered parameters of test cases), datasets might not be the best choice for environmental variables that are not embedded in the test specification (e.g. manual test steps).

As such, it is not good practice to use datasets with environment variables such as Browsers, OSs, Databases, or Devices. This is because:

  • Test engineers often configure a specific setup (or environment) to execute a set of tests. In this case, test engineers might want to execute the tests oriented to the environment and not the test case. This means they execute all the test cases first for one environment, and then for another one, and so on. This way, having all these environments within the same test run is not ideal as users would have to jump from one test run to the other without finishing the execution.
  • Usually, test environments are independent variables or dimensions. For instance, let's consider the following test environment: Browser, Database, and OS. If a test case fails only in a specific browser, once the bug is fixed, we might not want to re-execute the same test for all databases and OS's as we are confident that the change did not affect these variables. With datasets, if one iteration fails, you need to re-execute all the iterations again (if you use a different test run, of course).
  • Xray does not provide reports based on parameters.

In conclusion, if your parameters are environment variables that do not need to be included in the test specification, don't use datasets. Use test environments instead.

Info
titleTest environments improvements

We have plans to improve how test environments are managed in Xray. It will be possible to specify or generate combinations of environments for different variables.

Please check our roadmap.

Defining a parameterized test

In order to reference parameters within test steps:

  1. Create or edit a given step using either the inline view within the test issue or the steps dialog.
  2. When specifying a step, to reference a parameter you have two options:
    1. Start typing ${. If there is a default dataset defined on the test, you should see a list of the available parameters. Choose the desired parameter using the cursor keys or mouse. The parameter will be placed with the text.
    2. Use the toolbar button ${. After pressing this button, and if there is a default dataset defined on the test, you should see a list of the available parameters. Choose the desired parameter using the cursor keys or mouse. The parameter will be placed on the cursor position.

Image Removed

Creating a dataset

In order to create or edit the default dataset (within a test):

1. Press the "Dataset" button. This will open the dataset dialog. Here, you can define a dataset by creating parameters and adding values to them.

2. Creating parameters:

2.1. Press the "Create parameter" button located on the dataset main toolbar or on the empty view. This will open a small dialog to specify the parameter attributes.

2.2. Specify the name. Parameter names must start with a letter or underscore and can only contain letters, numbers, a space between words, "_", "-" and a max of 64 characters.

2.3. Check the Combinatorial checkbox if you are creating a combinatorial parameter.

2.4. Choose the parameter type: Text or List. If the parameter type is a List, you can:

a. create an ad hoc list just for this parameter. You need to specify the values for the list.

Image Removed

b. use a project predefined list.

Image Removed

2.5. Press "Save" to create the parameter. The parameter must be placed on the dataset. 

Image Removed

3. Adding combinatorial parameter values:

Once you have at least one parameter, you can start filling their values and adding new iterations.

A placeholder is provided within each combinatorial parameter. In order to add new values to combinatorial parameters:

3.1. For text parameters, just type the value and press the check button next to the field.

Image Removed

3.2. For list parameters, select an option and press the check button next to the field.

Image Removed

4. Adding rows (filling the parameter values):

4.1. Once you have non-combinatorial parameters, an empty placeholder row will appear so that the parameters can be populated for the default iteration.

Editing parameter values is as simple as editing their corresponding cells. The values will be kept when the cell loses focus.

You can navigate between cells of the same row and also between rows using the keyboard: TAB (forward), SHIFT+TAB (backward).

Image Removed

4.2. To create new rows, you can press the "New" button below the table or navigate using the keyboard from the last row (a new row will be created automatically by navigating forward to the last cell of the last row).

Image Removed

5. Converting a seeding parameter to a combinatorial parameter:

It is possible to convert an existing parameter to a combinatorial parameter. This will remove the parameter column from the seeding parameters table and group all remaining rows automatically. A new combinatorial parameter will be created by grouping all the values.

5.1.  Next to each column, there is an options button. Clicking this button will reveal a menu with options for Editing, Deleting, and Converting parameters.

Image Removed

5.2. Click on "Convert to combinatorial parameter."

Image Removed

6. Converting a combinatorial parameter to a seeding parameter:

It is also possible to convert a combinatorial parameter back into a seeding parameter.

6.1. Next to each combinatorial column, there is an options button. Clicking this button will reveal a menu with options for Editing, Deleting, and Converting parameters.

Image Removed

6.2. Click on the "Convert to non-combinatorial parameter".

7. Generating all combinations:

You don't need to generate all the combinations for a given dataset in order to execute all iterations. Xray will do this automatically for all of the combinatorial parameters. However, sometimes we don't need all the combinations. In order to do this, we can generate all combinations and remove some iterations afterward.

7.1. Next to each combinatorial column, there is an options button. Clicking this button will reveal a menu with options for Editing, Deleting, Converting parameters, and Generating all combinations.

Image Removed

7.2. Click on the "Generate all combinations." A confirmation dialog will appear. Confirming the changes will apply the cartesian product between the combinational parameter values and the seeding parameter rows.

Image Removed

7.3. After having performed all changes in the dataset, you need to press the "Save" button in order to persist the dataset into the database.

8. Move left/right:

You can re-order any parameters in your dataset, by selecting the "Move left/right" option.

8.1. Open the options menu in either a Combinatorial or non-combinatorial (seeding) parameter, you will have a "Move left/right" option available. Notice that if the parameter is already place on the most outer left (right) position, the "Move left" (right) option is not available.

Image Removed

8.2. Select the move left/right option, This will swap the parameters positions.

Image Removed

Importing a dataset from a CSV file

Besides defining a dataset by creating parameters and setting their values directly using the Xray UI, it is also possible to import an existing dataset from a CSV file.

In order to import a CSV file:

1. Open the dataset dialog.

2. Choose the "Import from CSV" option available on the Import dropdown button (located on the empty state view or on the dataset main button toolbar). A dialog will appear.

3. Select and fill the following options:

- File - find a local CSV file with the desired dataset

- CSV delimiter - defaults to "," but you can choose any other character

- File encoding - defaults to UTF-8

- Overwrite existing parameter values - if checked, this option will delete any values from existing parameters

- Create new parameters - If checked, it will create non-existing parameters automatically, based on the CSV column name. Otherwise, it will just append/update the values on the existing parameters.

Image Removed

4. Press "Import" to import the external dataset.

Info
titleCombinational parameters

You can also import combinational parameters. Any parameter with an asterisk suffix will be considered a combinational parameter. E.g., Quality*. In this case, the "Create new parameters" option must be enabled.

Exporting a dataset to a CSV file

To export a dataset to a CSV file:

  1. Open the Dataset dialog.
  2. Click the options button next to the import button. Clicking this button will reveal a menu with options for Export to CSV and Delete.

Image Removed

3. Click the Export to CSV. A file should be downloaded.

Info
titleExport CSV

The delimiter used to generate the CSV file is a comma.

Overriding a dataset in a test plan or test execution

To define or override a dataset at the test plan or test execution level:

1. Navigate to the desired test plan or test execution issue

...

is valid
#ActionDataExpected Result
1Open the websiteN/AThe main page is displayed and the user can enter login credentials
2Enter the following login and password, and click the Login button

Login: john.doe

Password: ######

The login is invalid
#ActionDataExpected Result
1Open the websiteN/AThe main page is displayed and the user can enter login credentials
2Enter the following login and password, and click the Login button

Login: jane.doe

Password: jane123

The login is valid

Instead of creating separate Tests, Test designers can instead create a single Test with the following parameters: Username, Password, and Valid.

#ActionDataExpected Result
1Open the websiteN/AThe main page is displayed and the user can enter login credentials
2

Enter the following login and password, and click the Login button

Login: ${Username}

Password: ${Password}

The login is ${Valid}.

Parameterized Tests in Xray

Parameterized Tests in Xray (Figure 1) are defined just like any other Test with the addition of some parameter names within the specification. 

Figure 1 - Parameterized testsImage Added

Figure 1 - Parameterized tests


Parameters are embedded within the Test specifications using the following notation: ${PARAMETER_NAME}.

Info

Parameter names are case-sensitive.

This notation (Figure 1 - 1) is used to reference parameters within the Test Steps. You can reference parameters in the Action, Data, Expected Result fields, and any text-based custom fields in the Test Steps.

Parameters are defined within datasets. However, it is possible to reference a parameter that is not yet defined (meaning it does not have a corresponding name within the dataset). In this case, the parameter will be highlighted in red (Figure 1 - 1).

Defining a Parameterized Test

To reference parameters within Test steps:

UI Steps
UI Step

Create or edit a Test Step using either the inline view within the Test Issue or the Steps modal.

UI Step

When specifying a Test Step, to reference a parameter you have two options:

  • Start typing ${(Figure 2 - 1). If there is a default dataset defined on the Test, you will see a list of the available parameters. Choose the desired parameter using the cursor keys or mouse. The parameter will be inserted into the text.
  • Use the toolbar button ${(Figure 2 - 2). After pressing this button, and if there is a default dataset defined on the test, you will see a list of the available parameters. Choose the desired parameter using the cursor keys or mouse. The parameter will be placed at the cursor position.

Figure 2 - Defining parametersImage Added

Figure 2 - Defining parameters

UI Step

Once you're finished, click the Save button (Figure 2 - 3).

Datasets

Anchor
datasets anchor
datasets anchor

Parameters and their values are defined within a dataset. A dataset is a collection of data represented in a tabular view, where every column of the table represents a particular variable (or parameter), and each row corresponds to a given record (or iteration) of the dataset.

The number of rows in the dataset determines the number of iterations to execute. If the dataset contains a single row, there will be a single execution parameterized with the values defined in the dataset row.

Datasets can be defined in different entities and scopes. A dataset can be defined, edited, or simply viewed using the Dataset button (Figure 2 - 4) located in each Xray entity or scope.

Parameter Types

Parameters can have the following types:

  • Text - the parameter value will be set using an open text field.
  • List - the parameter value can be selected from a predefined list of options. They can be created using either ad hoc or predefined lists.
Ad Hoc Lists

Ad hoc lists are defined locally for each parameter, while predefined lists are created by administrators at different levels:

  • Global - managed by Jira administrators. Global lists can not be used directly. These must be included in the project by the project administrator before they can be accessed within a dataset of that project.
  • Project - managed by project administrators.
Predefined Lists

Predefined lists is useful if the list parameters are commonly used in multiple datasets. If multiple projects make use of the same list, you can also create a global list so that it can be used by different projects. This way you have a central place to manage common parameter lists. Examples of predefined lists include:

  • Profiles.
  • Users.
  • Roles.
  • Colors.
  • Credit card types.
  • Addresses.
  • Etc.

When creating a new list parameter using a predefined list, you can choose a list that is available within the current project. The current project is determined by the parent issue where the dataset is defined.

Combinatorial Parameters

Combinatorial parameters are special parameters that will be combined with the remaining parameters (combinatorial or seeding parameters) to generate all possible combinations automatically. This prevents users from typing all the combinations when creating a dataset.

Seeding parameters are those parameters that describe fixed Test cases. The seeding parameters will not be combined with each other; they will only be combined with combinatorial parameters.

Example

This is a test to see if you can add books to a shopping cart in your online bookstore. The parameters are: Item, Price, Rating, In Stock, Condition, and Format. There are certain books to be tested (three in this case). However, we will test all combinations of these books with the following parameters: Gift and Quantity

In this case, these will be the seeding parameters (Figure 3 - 1):

  • Item.
  • Price.
  • Rating.
  • In Stock,
  • Condition.
  • Format.

Since we want to test these items with all the combinations of Gift and Quantity parameters, we can create these as combinatorial parameters (Figure 3 - 2): 

  • Gift*
  • Quantity*

Combinatorial parameters are denoted with an asterisk (*) suffix. 

Figure 3 - ParametersImage Added

Figure 3 - Parameters


Xray will generate all possible combinations upon execution automatically (Figure 4). 

Figure 4 - CombinationsImage Added

Figure 4 - Combinations

Dataset Scopes

A dataset can be defined in the following entities/scopes:

  1. Test (default dataset). If there is the need to override or change this dataset, you can do this at the Test planning or Test execution phases.
  2. Test Plan - Test.
  3. Test Execution - Test (Test Run).

The closest dataset to the Test run will be the one used to generate the iterations, effectively overriding any dataset defined at higher levels:

Test Execution - Test (Test Run) > Test Plan - Test > Test (default)

To define/see the dataset scopes, click the Dataset icon (Figure 5 - 1) and/or the Actions button (Figure 5 - 2), and then select the Dataset option (Figure 5 - 3).

Figure 5 - ScopesImage Added

Figure 5 - Scopes

Dataset Limits

  • Maximum number of iterations per dataset: 1000.
  • Maximum Number of parameters per dataset: 20.
  • A dataset can not contain duplicate rows.

Creating a Dataset

To create or edit the default dataset (within a Test):

UI Steps
UI Step

Click the Dataset button (Figure 6 - 1). A modal will open (Figure 7).

Figure 6 - DatasetImage Added

Figure 6 - Dataset

UI Step

 Click the Create parameter button (Figure 7 - 1). A modal will open for you to specify parameter attributes (Figure 8).

Figure 7 - ParameterImage Added

Figure 7 - Parameter

UI Step

Here (Figure 8), you can:

  • Specify the parameter's name (Figure 8 - 1; mandatory field). Parameter names must start with a letter or underscore and can only contain letters, numbers, a space between words, "_", "-" and a maximum of 64 characters.
  • Check the Combinatorial checkbox if you are creating a combinatorial parameter (Figure 8 - 2).
  • Choose the parameter type: TextorList (Figure 8 - 3). If the parameter type is a List, you can:
    • Create an Ad hoc list just for this parameter (Figure 8 - 4). You need to specify the values for the list (Figure 8 - 5; mandatory field).
    • Use a Project predefined list (Figure 8 - 4).
  • Once you're finished, click Create (Figure 8 - 6). You will be redirected to the dataset modal (Figure 9).

Figure 8 - ParameterImage Added

Figure 8 - Parameter

UI Step

Once you're finished, click Save (Figure 9 - 2). The parameter will be placed in the dataset. 

Figure 9 - ModalImage Added

Figure 9 - Modal

More Operations

Adding Combinatorial Parameter Values

Once you have at least one parameter, you can start filling in their values and adding new iterations.

A placeholder is provided within each combinatorial parameter. To add new values to combinatorial parameters:

For text parameters, type the value and click the check icon (Figure 10 - 1).

Figure 10 - TextImage Added

Figure 10 - Text


For list parameters, select an option and click the check icon (Figure 11 - 1).

Figure 11 - ListImage Added

Figure 11 - List


Adding Rows (Filling the Parameter Values)

Once you have non-combinatorial parameters, an empty placeholder row will appear so that the parameters can be populated for the default iteration (Figure 12). 

Editing parameter values is as simple as editing their corresponding cells. The values will be kept when the cell loses focus.

You can navigate between cells of the same row and also between rows using the keyboard: TAB (forward), SHIFT+TAB (backward).

To create new rows, you can click the Newbutton (Figure 12 - 1), or navigate using the keyboard from the last row (a new row will be created automatically by navigating forward to the last cell of the last row).

Figure 12 - ParametersImage Added

Figure 12 - Parameters


Converting a Seeding Parameter into a Combinatorial Parameter

You can convert an existing (seeding) parameter into a combinatorial parameter. This will remove the parameter column from the seeding parameters table and group all remaining rows automatically. A new combinatorial parameter will be created by grouping all the values.

1 - Next to each column, there is an ellipsis button (Figure 13 - 1). Clicking this button will reveal a menu with options for Editing, Deleting, and Converting parameters (Figure 13 - 2).

2 - Click the Convert to combinatorial parameter (Figure 13 - 2) option.

Figure 13 - MenuImage Added

Figure 13 - Menu


3 - A modal will open (Figure 14). Verify the parameters (Figure 14 - 1) and once you're finished, click Save (Figure 14 - 2).

Figure 14 - ParametersImage Added

Figure 14 - Parameters


Converting a Combinatorial Parameter into a Seeding Parameter

You can convert a combinatorial parameter back into a seeding parameter.

1 - Click the ellipsis button (Figure 15 - 1). Then, select Convert to non-combinatorial parameter (Figure 15 - 3).

2 - Once you're finished, click Save (Figure 15 - 4).

 Figure 15 - ParametersImage Added

Figure 15 - Parameters


Generating all Combinations

You don't need to generate all the combinations for a dataset to execute all iterations. Xray will do this automatically for all of the combinatorial parameters. However, if you don't need all the combinations, you can generate all combinations and remove some iterations afterward.

1 - Click the ellipsis button (Figure 15 - 1). Then, select Generate all combinations (Figure 15 - 2).

2 - A modal will open for you to proceed. Click Confirm (Figure 16 - 1). Confirming the changes will apply the Cartesian product between the combinational parameter values and the seeding parameter rows.

Figure 16 - ModalImage Added

Figure 16 - Modal


3 - Once you're finished, click Save (Figure 16 - 2).


Moving Parameters Left/Right

You can reorder any parameters in your dataset, by clicking the ellipsis button (Figure 17 - 1) and selecting the Move left/right option. This will swap the parameters' positions.

Figure 17 - ParametersImage Added

Figure 17 - Parameters

Info

After making any changes to the dataset, click the Save button (Figure 16 - 2) to keep the dataset information in the database updated.

Importing a Dataset from a CSV File

Besides defining a dataset by creating parameters and setting their values directly using the Xray UI, it is also possible to import an existing dataset from a CSV file.

UI Steps
UI Step

On the Test Issue, click the Dataset icon (Figure 18 - 1). A modal will open (Figure 19).

Figure 6 - DatasetImage Added

Figure 18 - Dataset

UI Step

Click the Import button (Figure 19 - 1) and select the CSV file option (Figure 19 - 2). A modal will open (Figure 20).

Figure 19 - ImportImage Added

Figure 19 - Import

UI Step

In the Import from CSV modal, select and fill in the fields (Figure 20):

  • Choose file - click this button to find a local CSV file with the desired dataset (Figure 20 - 1).
  • CSV Delimiter - defaults to "," but you can choose any other character (Figure 20 - 2).
  • File Encoding - defaults to UTF-8 (Figure 20 - 2).
  • Overwrite existing parameter values - if enabled, this option will delete any values from existing parameters (Figure 20 - 3).
  • Create new parameters - if enabled, it will create non-existing parameters automatically, based on the CSV column name. Otherwise, it will just append/update the values on the existing parameters (Figure 20 - 3).

Figure 20 - CSVImage Added

Figure 20 - CSV

UI Step

Once you're finished, click the Import button (Figure 20 - 4).

Info

You can also import combinational parameters. Any parameter with an asterisk suffix will be considered a combinational parameter. E.g., Quality*. In this case, the Create new parameters option (Figure 20 - 3) must be enabled.

Exporting a Dataset to a CSV File

UI Steps
UI Step

On the Test Issue, click the Dataset icon (Figure 21 - 1). A Dataset modal will open (Figure 22).

Figure 21 - DatasetImage Added

Figure 21 - Dataset

UI Step

In the Dataset modal (Figure 22), click the ellipsis button (Figure 22 - 1), and select the Export to CSV option (Figure 22 - 2).

Figure 22 - ExportImage Added

Figure 22 - Export

UI Step

The file download will start right away and you will get the file on your machine.

Info

The delimiter used to generate the CSV file is a comma.

Deleting a Dataset

UI Steps
UI Step

On the Test Issue, click the Dataset icon (Figure 21 - 1). The Dataset modal will open (Figure 22).

UI Step

In the Dataset modal, click the ellipsis button (Figure 22 - 1) and select the Delete option (Figure 22 - 2). A modal will open for you to confirm the removal of the dataset (Figure 23). Click Confirm to proceed (Figure 23 - 1).

Figure 23 - DeleteImage Added

Figure 23 - Delete

Parameterized Preconditions

Precondition Issues can also be parameterized by including parameter names in the precondition specification (Figure 24).

The parameters will be unfolded on the Test execution screen, just like in Test cases. For this, the dataset must have the same parameters, matched by name.

Figure 24 - PreconditionImage Added

Figure 24 - Precondition

Iterations Execution

All iterations for a given Test are executed within the context of the same Test run. Each iteration can be expanded by clicking the arrow icon (Figure 25 - 1), and the Test Steps executed individually (Figure 25 - 2). The Step parameters will be replaced by the corresponding iteration values. The Steps affect the iteration status which, in turn, affects the overall Test run status (Figure 25 - 3).

Figure 25 - IterationsImage Added

Figure 25 - Iterations

Overriding a Dataset in a Test Plan or Test Execution

UI Steps
UI Step

Navigate to the desired Test plan or Test execution Issue (Figure 26).

UI Step

A menu action is provided on each Test row (Figure 26 - 2). A column named Dataset (Figure 26 - 1) is also available by configuring the column layout for the Test Plan or Test Execution datatable. If there is a dataset already defined at this level, the

...

Dataset button (Figure 26 - 1) will be displayed with a

...

selected style.

...

Figure 26 - ExecutionImage Added

Figure 26 - Execution

UI Step

Click the Dataset button (Figure 26 - 1) or click the Actions button (Figure 26 - 2) and then select Dataset (Figure 26 - 3). The Dataset modal will open (Figure 27).

UI Step

In the Dataset modal (Figure 27), if

2.1. Open the dataset dialog by pressing the "Dataset" button in the column or

2.2. Open the dataset dialog by selecting the "Dataset" action from the test row options menu.

Image Removed

3. The dataset dialog is opened.

...

there is a dataset defined on a parent level,

...

you can override the parent dataset and modify its values

...

Image Removed

...

by clicking Override (Figure 27 - 1). Otherwise, you can start defining a new dataset at this level

...

(Figure 27 - 2).

Figure 27 - OverrideImage Added

Figure 27 - Override

UI Step

Once the dataset is defined (or overridden), click Save (Figure 27 - 3)

...

.


Expand
titleSupport/Troubleshooting

If you have questions or technical issues, please contact the Support team via the Customer Portal (Jira service management) or send us a message using the in-app chat.