Jira workflow examples for QA teams, with statuses and transitions

Three Jira workflow examples you can copy for QA: a simple software flow, a six-status QA flow and a bug flow, with transitions and owners.
Back to blog

Jira workflow examples for QA teams, with statuses and transitions

Short answer

A Jira workflow is the set of statuses a ticket moves through and the transitions allowed between them. A basic software example is To Do, In Progress and Done. QA teams add Ready for QA, In QA and QA Passed, so testing shows on the board instead of hiding inside In Progress.

Below are three Jira workflow examples you can copy: the default software workflow, a QA workflow with explicit testing states, and a bug workflow. Each has a table of statuses and transitions, followed by the rules that stop tickets skipping testing, how to set it up, and what Jira cannot tell you.

Article details

Question
What does a good Jira workflow look like for QA?

Audience
QA engineers, developers, project managers and Jira admins

BetterQA team
50+ engineers, founded 2018

Clutch rating
4.9 / 5 from 65+ reviews

What a Jira workflow is made of

A workflow has three parts. Statuses say where a ticket is (for example In QA). Transitions are the moves between statuses (for example from In QA to QA Passed). Every status belongs to one of three status categories: To Do, In Progress or Done. Boards and reports use the category, so a new status you add still needs to sit in the right one.

In company-managed projects a transition can also carry conditions (who may use it), validators (checks that must pass, such as a required comment) and post functions (actions after it runs, such as setting a field). Those are the tools that stop shortcuts.

The simple software workflow

A new software project in Jira starts with three statuses, one in each category. It is fine for a small team, but testing has no place of its own, so it ends up inside In Progress.

Status Category What it means
To Do To Do Waiting to be started
In Progress In Progress Being built and, usually, tested too
Done Done Finished

The usual result is poor sprint visibility. A ticket can be marked Done when the code is complete and QA has not started, and the burndown chart cannot tell the difference.

A QA workflow with six statuses

This is the workflow we recommend when a team has dedicated testers. It splits development from testing with an explicit handoff. Each status answers one question: who owns the ticket right now, and what has to happen next?

Status Category Owner Exit criteria
Open To Do Product manager Groomed, with acceptance criteria, assigned to a sprint
In Development In Progress Developer Code complete, pull request merged, build deployed to the test environment
Ready for QA In Progress Developer (handoff) A QA engineer picks the ticket up and starts testing
In QA In Progress QA engineer All test cases pass and no blocking bugs remain
QA Passed In Progress Release manager Deployed to production and verified
Done Done Nobody (archived) Complete, available for reporting

Transition rules

The rules prevent shortcuts that skip testing, while still allowing a ticket to move back when a bug is found.

From Allowed to Blocked
In Development Ready for QA Cannot go straight to QA Passed
Ready for QA In QA, In Development Cannot go straight to Done
In QA QA Passed, In Development Needs test execution recorded before pass
QA Passed Done, In QA Cannot reopen without a reason

Jira tip. Add a validator that requires a comment when a ticket moves from In QA back to In Development. The bug context is then captured on the ticket without creating a second one.

A bug workflow

Bugs need a different path from stories, because they can be rejected as duplicates, cannot be reproduced, or come back after a fix. Many teams give the Bug issue type its own workflow.

Status Meaning Moves on to
Open Reported, not yet looked at Triaged, Duplicate, Cannot reproduce
Triaged Severity and priority agreed, an owner assigned In Fix
In Fix A developer is working on it Ready to retest
Ready to retest Fix deployed to the test environment Verified, Reopened
Verified Tester confirmed the fix, ready to release Closed
Closed Released or consciously not fixed Reopened
Reopened Fix failed, or the bug returned In Fix

Severity and priority

These are two fields, and keeping them apart makes triage faster. Severity is technical impact. Priority is business urgency. A typo on the homepage can be low severity and high priority; a database bug in an internal admin tool can be the opposite. Agreeing the scales early is the first step of defect management.

Severity (technical impact) Priority (business urgency)
Critical: crash, data loss, security breach Blocker: fix now, blocks the release
Major: core feature broken, no workaround High: fix this sprint
Minor: feature impaired, workaround exists Medium: schedule soon
Trivial: cosmetic, no functional impact Low: backlog, fix when convenient

For writing the ticket itself, see how to write bug reports that get fixed.

How to set up a QA workflow in Jira

  1. Audit the current workflow. List the statuses and transitions you have, and note where testing is hidden or tickets skip validation.
  2. Pick one pilot project. Choose a team that already feels the pain. They will give honest feedback before you change anything company-wide.
  3. Edit a copy. In a company-managed project, open Project settings, then Workflows, and edit the workflow. Jira works on a draft until you publish it. Menu names change between Jira versions.
  4. Add the statuses and transitions from Example 2, and put each status in the right category.
  5. Add the rules. Conditions on who can move a ticket, a validator that requires a comment on backward moves, and an automation rule that notifies QA when a ticket reaches Ready for QA.
  6. Publish and map. If tickets already sit in a status you removed, Jira asks you to map them to a new one. Do this on a quiet day.
  7. Run one sprint, then adjust. Explain why each status exists, and review the board with developers and testers at the end.

Keep the status count small. Every extra status is another handoff and another place a ticket can sit unnoticed, so add one only when someone owns it.

What a Jira workflow cannot tell you

A perfect workflow still cannot say which code was tested. Jira tracks ticket status, but it does not see commits, branches or what changed after QA began. When a developer moves a ticket to Ready for QA, was it one commit or twenty? Did the code change after testing started?

BetterFlow, one of our tools, correlates Jira data with GitHub activity. A tester can see which commits belong to a ticket and whether code changed after QA marked it as passed. That turns a status into evidence of which version passed.

How BetterQA runs QA workflows in Jira

Our engineers work inside your Jira, with your statuses. We add the QA states from this guide only where they are missing. We write each bug so a developer can reproduce it from the report alone, and we agree the priority and severity scales with your team early on. That is the core of our defect management work.

If nobody on your team owns this workflow day to day, QA outsourcing puts it in the hands of testers who run it every day.

BetterQA engineers and Tudor Brad reviewing work at the meeting table

Frequently asked questions

A Jira workflow is the path a ticket follows from creation to completion. It is made of statuses, such as In QA, and transitions, the moves allowed between them. Teams can have different workflows for stories, bugs and tasks.

Jira groups every status into one of three categories: To Do, In Progress and Done. You can create many statuses, but each belongs to one category, and boards and reports use the category to decide what counts as finished.

In a company-managed project, open Project settings and then Workflows, edit a copy of the workflow, add your statuses and transitions, then publish. Add conditions, validators and post functions to control who can move tickets and what must be filled in first.

As few as your handoffs need. Six is a common starting point: Open, In Development, Ready for QA, In QA, QA Passed and Done. Add another only if a different person owns that step.

Add a transition from In QA back to In Development and require a comment on it. The ticket keeps its history and the bug context is saved, and you avoid a separate bug ticket for every failed check.

QA Passed means testing is complete and the ticket is ready for release. Done means the code is deployed and verified in production. Keeping them apart lets you batch releases while still seeing what has been validated.

Need help with your QA workflow?

Tell us what you are testing and we reply within one business day. Our engineers can set up and run the workflow inside your Jira.

Book a call
Defect management

Share the Post: