Why Jira Needs a Test Management App

Jira does not provide built-in test case management. However, it becomes a powerful test management solution when integrated with plugins such as Zephyr, Xray, or TestRail.

These plugins allow QA teams to:

  • Create and manage test cases.
  • Organize test repositories.
  • Execute test cases.
  • Track execution status.
  • Create defects directly from failed tests.
  • Generate reports and dashboards.
  • Maintain complete traceability from Requirement → Test Case → Test Execution → Defect.

Advertisement

Managing Test Cases with Zephyr

Zephyr is one of the most widely used test management plugins for Jira.

It enables teams to create, execute, and manage test cases directly within Jira.

Install Zephyr

Navigate to:

Jira Administration → Manage Apps → Find New Apps

  • Search for Zephyr for Jira.

  • Install the plugin.


Create a Test Case

Navigate to:

Project → Create → Issue Type: Test

Provide the following information:

  • Summary

  • Description

  • Priority

  • Assignee

  • Labels

  • Components (optional)

Add detailed test steps:

  • Step

  • Test Data

  • Expected Result


Organize Test Cases

Organize your tests using:

  • Folders

  • Components

  • Labels

Common labels include:

  • Smoke

  • Regression

  • Sanity

  • Integration

  • Login

  • Payment

Zephyr also provides a Test Repository where tests can be grouped into folders or cycles.


Create Test Cycles

Navigate to:

Tests → Test Cycles

Create a new cycle, for example:

  • Sprint 5 Regression

  • Smoke Testing

  • UAT Cycle

  • Release 2.1 Regression

Specify:

  • Build

  • Environment

  • Dates

  • Version (optional)

Add relevant test cases to the cycle.


Execute Test Cases

Open the test cycle and execute each test.

Update the execution status as:

  • Pass

  • Fail

  • Work In Progress (WIP)

  • Blocked

For every execution, you can:

  • Add comments

  • Attach screenshots

  • Upload logs

  • Attach videos or other evidence


While viewing a Story or Requirement:

  • Link related test cases.

  • Execute the tests.

If a test fails:

  • Click Create Bug.

Jira automatically links the bug with the failed test execution.

This provides complete traceability between:

Requirement → Test → Execution → Bug


Reports

Zephyr provides several useful reports:

  • Test Execution Summary

  • Daily Test Execution Progress

  • Test Metrics by Cycle

  • Execution Burndown

  • Pass/Fail Trends


Managing Test Cases with Xray

Xray is another powerful Jira test management tool, especially suited for advanced reporting and automation integration.

Install Xray

Navigate to:

Manage Apps → Atlassian Marketplace

  • Search for Xray.

  • Install the plugin.


Create Test Cases

Click:

Create → Issue Type: Test

Select the test type:

  • Manual

  • BDD/Cucumber

  • Generic

Add:

  • Test Steps

  • Expected Results

  • Preconditions

  • Test Data

Xray also supports importing test cases from Excel.


Organize Tests

Xray organizes tests using:

  • Test Sets

  • Test Plans

  • Test Repository

Test Set

A collection of related test cases.

Example:

Login Module Tests

Test Plan

Represents the overall testing plan for a release or sprint.

Example:

Sprint 15 Regression Plan

Test Repository

A folder-based hierarchical structure for organizing test cases.


Execute Tests

Create a new issue of type:

Test Execution

Add:

  • Summary

  • Environment

  • Fix Version

Link the required test cases.

Execute each test and mark it as:

  • PASS

  • FAIL

Attach:

  • Screenshots

  • Logs

  • Videos


Automation Integration

One of Xray's biggest strengths is automation support.

It integrates with:

  • Jenkins

  • Bamboo

  • GitHub Actions

  • Azure DevOps

Automation frameworks supported include:

Automation results can be uploaded using the Xray REST API.


Traceability and Reporting

Link tests with:

  • Stories

  • Epics

  • Requirements

  • Bugs

Xray provides reports such as:

  • Requirement Coverage

  • Traceability Report

  • Test Execution Report

  • Overall Test Progress

  • Test Plan Status


What Is a Test Cycle?

A Test Cycle (also called a Test Execution or Test Run) is a time-bound collection of test cases executed together.

Examples include:

  • Sprint Testing

  • Regression Testing

  • Smoke Testing

  • UAT

  • Release Candidate Testing

  • Patch Validation

A test cycle allows teams to:

  • Track execution progress

  • Measure test coverage

  • Link defects

  • Monitor release quality

Typical Workflow

Requirement

↓

Create Test Case

↓

Add Test Case to Test Cycle

↓

Execute Test

↓

Pass / Fail

↓

If Failed → Create Bug

↓

Developer Fixes Bug

↓

Retest

↓

Close Cycle

Zephyr vs Xray – Managing Test Cycles

Feature Zephyr Xray
Create Cycle Tests → Cycles → Create Cycle Create a Test Execution issue
Add Tests Drag from Repository or use JQL Link Tests, Test Sets, or Test Plans
Execute Tests Mark Pass/Fail/WIP/Blocked Mark PASS/FAIL inside Test Execution
Evidence Screenshots, comments, logs Screenshots, comments, logs
Bug Creation Create Bug from failed step Create Defect from failed execution
Progress Tracking Dashboards and Execution Reports Traceability and Execution Reports
Close Cycle Mark Cycle Complete Resolve Test Execution issue
Reuse Clone previous cycles Reuse Test Plans in new executions

Best Practices for Test Cycles

Best Practice Benefit
Use consistent naming (Sprint-14-Smoke) Easy searching and reporting
Tag test cases using labels/components Quick bulk selection using JQL
Create one cycle per build/environment Better isolation and reporting
Raise bugs immediately for failed tests Faster defect tracking
Use dashboards for QA and Product Owners Real-time visibility
Link cycles with Sprint and Fix Version Complete release traceability
Attach evidence for every failed test Easier debugging
Retest failed cases after fixes Ensures defect verification

Key Takeaway

A Test Cycle is an executable container that groups related test cases for a sprint, release, build, or environment.

Using Jira plugins such as Zephyr or Xray, QA teams can:

  • Create test cases.

  • Organize test repositories.

  • Execute tests.

  • Track execution status.

  • Raise bugs directly from failed tests.

  • Generate reports and dashboards.

  • Maintain complete traceability from Requirement → Test Case → Execution → Defect.


Which "Zephyr"? A Note on Names

SmartBear sells more than one Zephyr product for Jira — Zephyr (formerly Zephyr Squad, the simpler one with test cycles inside Jira issues) and Zephyr Scale (formerly TM4J, with its own test library, plans and more reporting). Menus, status names and features differ between them and between Jira Cloud and Data Center, so the paths on this page are a guide rather than exact clicks. In interviews, name the product your team actually used. (The Zephyr RTOS project at zephyrproject.org is unrelated.)

Uploading Automation Results to Xray

Automated runs become Test Executions in Jira when the CI pipeline uploads the results. With Xray Cloud, it's two HTTP calls after the tests finish:

# 1. Get a token with an Xray API key (client id/secret stored as CI secrets)
TOKEN=$(curl -s -H "Content-Type: application/json" -X POST \
  --data "{\"client_id\":\"$XRAY_CLIENT_ID\",\"client_secret\":\"$XRAY_CLIENT_SECRET\"}" \
  https://xray.cloud.getxray.app/api/v2/authenticate | tr -d '"')

# 2. Import the TestNG results into project SHOP as a new Test Execution
curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: text/xml" -X POST \
  --data @target/surefire-reports/testng-results.xml \
  "https://xray.cloud.getxray.app/api/v2/import/execution/testng?projectKey=SHOP"

Xray matches tests by name (or by the Jira test key you add to the test), creates or updates the Test issues, and records pass/fail for the run — so manual and automated results sit side by side in the same coverage reports. There are equivalent endpoints for JUnit, Cucumber and other formats; Xray Server/Data Center uses the same idea with your Jira URL. Pipeline setup: The Complete Jenkins Tutorial.

Practise writing test cases and running a test cycle on realistic scenarios in the Manual Testing Simulator.

From Real Projects

On my projects, test cases and execution were tracked in TestRail and defects in Jira. Whatever the tool — TestRail, Zephyr or Xray — the discipline is the same: every test case traces back to a requirement, every execution is recorded, and every failure links to a defect. That traceability is what let us show, at the end of a cycle, exactly what was tested and what was still open.


Interview Answer

"In my project, we used Jira with the Zephyr plugin to manage our test cases. Every test case was created as a 'Test' issue type with detailed test steps, test data, and expected results. We organized test cases using folders, labels, and components. At the beginning of every sprint, the QA Lead created a test cycle named after the sprint and environment, such as 'Sprint 14 Regression - QA.' Relevant test cases were added using labels and JQL queries. During execution, we updated each test's status to Pass, Fail, Blocked, or Work In Progress. For failed test cases, we attached screenshots, logs, and comments, then created bugs directly from the failed execution. This automatically linked the defect with the corresponding test case, providing complete traceability between user stories, test cases, executions, and defects. We monitored execution progress using Zephyr dashboards and reports, including Test Execution Summary and Daily Execution Progress. After developers fixed the reported defects, we re-executed the failed test cases and closed the test cycle once all tests were completed successfully. In another project, I worked with Xray, where Test Execution issues acted as test cycles, and automated test results from TestNG and Cucumber were uploaded through CI/CD pipelines using the Xray REST API."


📚 Official documentation: Jira Cloud documentation (Atlassian)

Frequently Asked Questions (FAQs)

Does Jira support test case management by default?

No.

Jira does not include built-in test case management.

Plugins such as Zephyr, Xray, or TestRail are required to create, execute, and manage test cases within Jira.

How do you create a test case in Zephyr or Xray?

Click Create, select the Test issue type, and enter:

  • Summary

  • Test Steps

  • Test Data

  • Expected Results

In Xray, you can also choose the test type:

  • Manual

  • BDD/Cucumber

  • Generic

What is a Test Cycle?

A Test Cycle is a collection of test cases executed together for a sprint, release, build, patch, or specific environment.

It helps track execution progress, coverage, and defects.

What do you do when a test case fails?

  • Mark the test as Fail.

  • Attach supporting evidence (screenshots, logs, comments).

  • Create a bug directly from the failed test execution.

The bug is automatically linked to the test case.

What is the difference between Zephyr and Xray?

  • Zephyr uses Test Cycles to organize and execute tests.

  • Xray uses Test Execution issues, offers stronger automation support, advanced traceability, and more comprehensive reporting.

How do you integrate automation results into Jira?

With Xray, automation results from frameworks such as JUnit, TestNG, Cucumber, and REST Assured can be uploaded through the Xray REST API from CI/CD tools like Jenkins or GitHub Actions.

What are some best practices for managing Test Cycles?

  • Use consistent naming conventions.

  • Organize test cases by label and component.

  • Create separate cycles for each build or environment.

  • Raise defects immediately for failed tests.

  • Use dashboards to monitor execution progress.

  • Link test cycles to Sprints and Fix Versions for complete traceability.

  • Retest failed cases after defect fixes before closing the cycle.