L1 · Running the work
L1Reference5 min read

Test management: Jira, Xray, TestRail, Zephyr

Where cases, runs and results live, and how they join up with the tickets. The tools differ far less than their vendors claim; what matters is deciding what you keep in there and what belongs in the repository beside the code.

Two cooks are given different kitchens. Same recipes, same ingredients, same skill.

The kitchens differ in where the knives are kept and how the oven dial is labelled. After a week, both cooks are producing the same food. The kitchen mattered for a fortnight and then stopped mattering at all.

Test management tools are like that. They differ far less than their pricing pages suggest, and the decision that actually shapes your work is not which one you buy. It is what you agree to keep in it.

What all of them actually do

Four jobs. Any tool worth considering does all four, and most of a demo is spent on the fifth thing you will never use.

  • Hold the cases. Titles, steps, data, expected results, organised into folders or suites.
  • Run them. A test run is a snapshot: these cases, this build, this environment, these results.
  • Record the results. Pass, fail, blocked, skipped, with evidence attached and a person's name against it.
  • Join it to the tickets. A case links to the story it came from. A failure creates a defect that links back to the case.

How the four common ones differ

Honestly, and briefly, because the differences are smaller than the market implies.

  • Jira on its own. Not a test management tool. Teams try it with issue types for cases, and it works until you need a second run of the same case against a new build. There is no concept of a run, which is the thing you actually need.
  • Xray. Lives inside Jira as an app. Cases and runs become Jira issues, so everything is in one system with one permission model. That closeness is the selling point and the limitation, because heavy suites make Jira slow and the case editor is a Jira form.
  • Zephyr. Also a Jira app, with a similar shape and a different history. Scale and Squad variants confuse buyers, so check which one a tutorial refers to before following it.
  • TestRail. Lives outside Jira and links in. The case editor and run views are better than anything inside Jira, and the trade is a second system, a second login, and an integration to keep working.

The pattern is simple. Inside Jira means fewer systems and a worse editor. Outside Jira means a better editor and an integration you now own.

What matters more than the choice

Say you are picking a tool this week. Five questions predict how you will feel in six months, and none of them is about the feature list.

  1. Where does the run history live, and can you get it out? Ask for a CSV or an API call in the trial, not a promise. Your results are the asset.
  2. Can automated results post into it? Most teams want a pipeline to file its own pass and fail. Check the API and the reporter for your test runner, in the trial, with real output.
  3. How do failures become defects? One click with the case, environment and evidence attached, or a copy and paste job that people stop doing by Thursday. Either way it should serve the numbers you actually report.
  4. How does it price? Per seat pricing quietly decides who is allowed to see quality information. That is a process decision disguised as a line item.
  5. What happens when a case changes after a run? Good tools keep the version that ran. Weak ones rewrite history, and then last month's green run refers to a case that no longer exists.

Nobody has ever been saved by a better test management tool. Plenty of teams have been saved by agreeing what goes in the one they already have.

What goes in the tool, and what does not

This is the decision that stops duplicate work, and it takes one conversation.

  • In the tool: manual cases, run history, results with evidence, links to stories and defects, and the release checks somebody signs off. Writing cases a stranger can run is what makes that content worth keeping.
  • In the repository: automated tests, fixtures, test data builders, anything that is code and gets reviewed like code.
  • Reported into the tool from the pipeline: the results of those automated runs, so one place answers "what was tested for this release".

Copying automated cases into the tool by hand is the most common waste here. The test already exists in code. What the tool needs is its result, which is exactly the record a release rests on.

A worked decision

Here is how the choice looked for a real six-person team, written down before anyone booked a demo.

tool-decision.txt
WILLOW BOOKS, choosing a test management tool
6 engineers, 1 tester, weekly release, already on Jira Cloud

WHAT WE HAVE NOW
  cases in a Google Sheet (412 rows, 3 people editing)
  runs recorded by colouring cells, no history older than March
  defects in Jira, not linked to any case

WHAT HURTS
  1  no run history, so "did we test this last release" has no answer
  2  the sheet has two versions and nobody knows which is current
  3  automated results live only in the pipeline, invisible to product

WHAT WE ASKED IN EACH TRIAL
  export a run to CSV                          Xray yes   TestRail yes
  post results from the pipeline                Xray yes   TestRail yes
  one-click defect with evidence                Xray yes   TestRail yes
  keeps the case version that ran               Xray no    TestRail yes
  price for 1 editor + 5 viewers                Xray ok    TestRail higher

DECISION
  Xray. Not because it scored highest, but because everything already
  lives in Jira and nobody has to remember a second login. We accepted
  the case-versioning gap and wrote it down.

WHAT WE CHANGED FIRST (before the tool)
  agreed that automated tests stay in the repo and only report results
  deleted 96 duplicate rows from the sheet
  agreed one owner for the manual pack

  those three changes fixed more than the tool did

Look at the last line. Three decisions, made before the purchase, did more than the software. That is the honest shape of most tooling stories, and it is worth saying out loud in the meeting where somebody proposes a migration.

How to show you know it

  • A four-job comparison. Judge tools on holding cases, running them, recording results and linking to tickets. It cuts through a demo in ten minutes.
  • An export from the trial. Proving you can get your results out is the most senior question anyone asks in a procurement conversation.
  • A written in-the-tool versus in-the-repo split. Short, agreed, and it prevents months of duplicate maintenance.
  • A migration you argued against. Sometimes the honest answer is that the tool is fine and the discipline is missing.

Questions

Can we just use Jira for test cases?

You can store the cases, and you will hit the wall at the second run. Jira has no concept of running the same case again against a new build and keeping both results, which is most of what test management is. Teams that try this end up with a spreadsheet next to Jira within a quarter.

Which is better, TestRail or Xray?

They are close enough that the tie-breaker is where your team already works. Xray if everything lives in Jira and you value one system. TestRail if the case editor and run views matter more and you accept a second tool. Run both trials with your own suite for a week.

Is a spreadsheet really that bad?

It is fine for one person and a short suite. It fails at the second concurrent editor and at any question about history, because a coloured cell does not remember what it was last month. Most teams outgrow it at about a hundred cases.

How much of this should be open source?

Enough that you can leave. The important part is whether your cases and results are exportable and whether the format is documented, which is the ground covered in what "open" has to mean here.