AgileTest

How Test Case Status Is Calculated

In AgileTest, a Test Case status can be updated in different ways, depending on the Test Case type and execution method:

  • Manual Test Case: AgileTest calculates the Test Case status based on the individual Test Step status you map for each test step in test executions.

  • Generic & Cucumber Test Cases: AgileTest updates the Test Case status by importing results from supported automation frameworks or API requests.


1. How AgileTest Calculates Manual Test Case Status From Test Steps

1.1 Test Step Status Priority Order

When a Test Case has multiple Test Steps with different statuses, AgileTest determines the overall Test Case Status using the priority order below. The first matching rule takes precedence.

Priority

Test Step Status

1

FAIL

2

Other custom test step statuses mapped with NOK

3

BLOCKED

4

QUERY RETEST and other custom test statuses mapped with UNKNOWN

5

TO DO and other custom test statuses mapped with NOT RUN

6

PASS SKIPPED and other custom test statuses mapped with OK

Example:

Scenario

Test Step 1

Test Step 2

Test Step 3

Test Case (Overall Status)

1

Fail

Pass

To Do

FAIL

2

Skipped

Blocked

To Do

BLOCKED

3

Pass

To Do

Query

QUERY

4

Retest

Skipped

Blocked

BLOCKED

5

Pass

To Do

Retest

RETEST

6

Pass

--

Pass

TO DO

7

Pass

Pass

Pass

PASS

1.2 Custom Test Step Status Priority

1.2.1 Create and Map a Custom Test Step Status

In addition to the default Test Step statuses, you can create custom Test Step statuses and map them to default or custom Test Case statuses.

Custom Test Step statuses follow the same Test Step Status Priority Order, based on the Test Case status they are mapped to.

For example, if three custom Test Step statuses Pending, Needs Review, and Inconclusive, are all mapped to the Test Case status UNKNOWN , then AgileTest will apply the priority order within that group when calculating the overall Test Case status.

Test Step 1

Test Step 2

Test Step 3

Test Case (Overall Status)

Pending

Needs Review

Inconclusive

Inconclusive

  1. Go to Jira Settings → Marketplace apps.

CleanShot 2026-10-20 at 16.11.56@2x-20261020-091231.png
  1. Select the AgileTest app and choose Test Step Statuses.

  2. Click the “+ Test Step Status” button.

CleanShot 2026-10-21 at 13.10.42@2x-20261021-061115.png
  1. Enter the name, description, and color.

  2. In Test Status, select the available status you have created in the Test Statuses settings.

CleanShot 2026-10-21 at 13.12.53@2x-20261021-061317.png

1.2.2. How Custom Status Mapping Affects Test Case Status

When multiple step statuses rank the same, the most recently created Test Step status takes precedence. For the default statuses, this means a custom status wins over a default status at the same priority because custom statuses are created after the defaults.

You can see the creation order in Settings → Test Step Statuses: newer statuses are lower in the list.

CleanShot 2026-10-22 at 13.44.05@2x-20261022-064416.png

Example:

Scenario

Test Step 1

Test Step 2

Test Step 3

Test Case

1

Pass

Skipped

Pass

SKIPPED

2

Pass

To Do

Wait for Environment

(custom step maps to NOT RUN )

WAIT FOR ENVIRONMENT

3

Pass

In Review

(custom step maps to UNKNOWN )

Query

IN REVIEW

4

Critical Fail
(custom step maps to NOK )

Fail

Pass

FAIL

5

Pass

Critical Fail

(custom step maps to NOK )

Blocked

CRITICAL FAIL

2. How AgileTest Calculates Generic and Cucumber Test Case Statuses

In automation, the report file can contain many statuses for the same test case, so AgileTest can automatically calculate the overall Test Case status when you import automation results into a Test Execution.

The calculation depends on the automation framework, the imported results, and their mapped Test Statuses.

When importing automation results, AgileTest matches each result to a Test Status in the following order:

  1. Find a Test Status with the exact same name as the imported result.

  2. If no exact match exists, find a matching status regardless of uppercase or lowercase letters.

  3. If no matching status exists, use the default status mapping below.

  4. If the result is not recognized, assign TO DO .

For JUnit, TestNG, NUnit, xUnit, and Robot Framework, the default mapping is:

Imported Result

AgileTest Status

passed, pass, success

PASS

failure, failed, fail, error, inconclusive

FAIL

skipped, skip, ignored, notrunnable

SKIPPED

blocked

BLOCKED

retest

RETEST

query

QUERY

todo, to do, not run, or unrecognized results

TO DO

After importing results, AgileTest calculates the overall status from the results imported through JUnit, TestNG, NUnit, xUnit, or Robot Framework.

If a Test Case has multiple results, such as retries or parameterized test runs, AgileTest combines them using the priority order like the manual test step.

Example:

Scenario

Test Result 1

Test Result 2

Test Result 3

Test Result (Overall Status)

1

Fail

Pass

To Do

FAIL

2

Skipped

Blocked

To Do

BLOCKED

3

Pass

To Do

Query

QUERY



Should you need any assistance or further AgileTest inquiries, contact our 24/7 Support Desk!