Skip to content
Bugwise
Menu
Tutorials

Working with Jira

Learn how testers use Jira every day — projects, issue types, boards, sprints and workflows, the fields that matter, linking bugs to stories, comments and mentions, and finding anything with JQL filters and dashboards — with a hands-on mock board and a working JQL builder.

beginner Mobile & web
Short on time? Switch to the quick version.

It’s your first week as a tester at a food delivery company. Your lead sends you a link and a message: “Here’s our Jira board. SHOP-142 is in testing, that one’s yours. Log any bugs against it, and set up a filter so you can see your open tickets. Ping me if you get lost.”

You open the link and see columns, colorful icons, dozens of tickets and a search box that wants something called “JQL”. Don’t panic. Jira looks busy, but testers use a small, predictable part of it every day. This lesson covers exactly that part.

Jira in one picture

Jira is a tool for tracking work. Every piece of work, from “build the tipping feature” to “the total is wrong on Android”, is an issue (a ticket) with a unique key like SHOP-142: the project key plus a number.

ConceptWhat it isExample
ProjectA container for one product or team’s workSHOP (customer app), COUR (courier app)
IssueOne piece of work with a key, fields and historySHOP-142
BoardA visual view of issues as cards in columnsSHOP board
SprintA fixed time box (often 2 weeks) of planned workSprint 14
WorkflowThe statuses an issue moves throughTo Do → In Progress → … → Done

The essentials

Issue types

Boards, sprints and workflows

A Scrum board shows the current sprintSprintA short, fixed period (often two weeks) in which a team builds and tests a set of work.Open in glossary →; a Kanban board shows a continuous flow of work without sprints. Each column is one or more statuses, and the statuses come from the team’s workflow, which is different in every team. Common ones: To Do, In Progress, In Review, In Testing (or QA), Done.

Fields testers use most

Summary (the title), Description (steps, expected, actual), Environment, Component, Labels, Affects version (where you found it), Fix version (where it will be fixed, usually set by the lead), Priority, Attachments, and Links like blocks, relates to and duplicates. For what goes inside a great bug ticket, see How to Write a Bug Report.

Daily habits

  • Link every bug to the story it was found in, so nobody closes the story with an open bug.
  • @mention people only when you need them; watch issues you care about to get updates.
  • Keep comments factual and short: what you did, on which build, what happened.

JQL: Jira’s search language

project = SHOP AND type = Bug AND status != Done ORDER BY priority DESC

Read it like a sentence: “In project SHOP, bugs that aren’t Done, most important first.” Save it as a filter, and put filters on a dashboard. Other handy pieces: assignee = currentUser(), created >= -7d, fixVersion = "3.8.0", labels = regression.

Switch to Detailed for each concept in depth: workflows and who moves what, every tester field explained, links, comment etiquette, JQL step by step, dashboards and test management add-ons.

Issue types

Jira organizes work in a small hierarchy. Your team may add custom types, but these five are nearly universal:

TypeWhat it meansQuickBite example
EpicA large goal, split into stories and tasks, often spanning several sprintsSHOP-120 Courier tipping
StoryA user-facing feature, usually written as a user storyUser storyA short description of a feature from the user's point of view.Open in glossary →SHOP-142 Add a tip for the courier at checkout
TaskWork that isn’t a user feature: setup, tech work, test prepSHOP-158 Update the regression suite for tipping
BugBehavior that doesn’t match what’s expectedSHOP-150 Order total ignores custom tip on Android
Sub-taskA smaller step inside a story, task or bugSHOP-143 Tip selector UI

Boards and sprints

A board shows issues as cards in columns, one column per status (or group of statuses). Teams usually use one of two kinds:

As a tester, the board is your daily to-do list: the cards in In Testing (or QA, Ready for test, whatever your team calls it) are waiting for you.

Workflows and statuses

A workflow is the set of statuses an issue can be in and the allowed moves between them. Every team’s workflow is different, so learn yours in your first week. A typical one:

  1. To Do: planned, nobody working on it yet.
  2. In Progress: a developer is building or fixing it.
  3. In Review: the code is written and another developer is reviewing it.
  4. In Testing: the change is on a test environmentEnvironmentA setup of servers, data and configuration where the software runs, such as dev, staging or production.Open in glossary → such as stagingStagingA pre-release environment that mirrors production as closely as possible.Open in glossary →, and a tester is checking it.
  5. Done: finished. For a bug, the resolutionResolutionThe field that records why work on a bug ended, such as Fixed, Duplicate, Won't fix or Cannot reproduce.Open in glossary → field says how it ended, for example Done or Fixed, Duplicate, Won’t Do, Cannot Reproduce (each team can change the list).

Bugs often have their own workflow with extra statuses like Reopened. If a fixed bug fails your retest, you move it back (reopen it) with a comment explaining what still happens. How often that happens is tracked as the reopen rateReopen rateThe share of fixed bugs that fail retesting or come back later.Open in glossary →. For the full journey of a bug, see the Bug Life Cycle lesson.

The fields testers use

FieldWhat to put in itTip
SummaryWhere + what + when“Checkout: order total ignores custom tip on Android”
DescriptionPreconditions, steps, expected, actual, notesUse numbered lists; paste errors as code
EnvironmentDevice, OS, app version + buildBuildA specific compiled version of the app or website that is ready to be installed or tested.Open in glossary →, server“Pixel 8, Android 15, 3.8.0 (409), Staging”
ComponentThe part of the productRoutes the bug to the right team
LabelsFree tags for filteringandroid, regression, checkout
Affects versionThe version where you found it3.8.0
Fix versionThe release that will contain the fixUsually set in triageTriageReviewing new bugs to decide if they're valid, how severe and urgent they are, and who fixes them.Open in glossary →, not by you
PriorityHow soon it should be fixedYour proposal; the team may change it
AttachmentsScreenshots, videos, logsName them clearly: tip-total-wrong.mp4

Links connect tickets so the whole team sees how work relates. The three you’ll use most:

Bugs found while testing a story are linked to that story (or created as a sub-task of it, if that’s your team’s habit). That’s what stops a story from being closed with known bugs, and it’s what lets a lead see at a glance which features are healthy.

Creating a good bug ticket

Everything from How to Write a Bug Report applies. The Jira-specific checklist:

  1. Search first. Someone may have reported it already. A quick filter like project = SHOP AND type = Bug AND text ~ "tip" AND statusCategory != Done saves a duplicate.
  2. Choose the right project and the Bug type.
  3. Write the summary: where, what, when. No “broken”, no ”!!!”.
  4. Fill the description using your team’s template: Preconditions, Steps, Expected, Actual, Notes.
  5. Set the fields your team uses: environment, component, labels, affects version, a proposed priority.
  6. Attach evidence and link the bug to the story or related issues.
  7. Create it, then watch it. Answer questions quickly; you’re the expert on this bug.

Ready to work on

Summary: Checkout: order total ignores custom tip on Android Environment: Pixel 8, Android 15, QuickBite 3.8.0 (409), Staging Links: blocks SHOP-142 · Labels: android, checkout Attachment: tip-total-wrong.mp4

Needs three rounds of questions

Summary: Tip broken!! Environment: my phone Description: Tip does not work. Please fix. Links: none

Comments, mentions and watching

The comment thread is where the real conversation about an issue happens. A few habits make you easy to work with:

  • @mention a person when you need them to act or answer: “@Luka can you check if this also affects the web checkout?” Don’t mention the whole team for information.
  • Watch issues you care about (your bugs, stories you test). You’ll get notified about changes and comments, without anyone mentioning you.
  • Be factual and specific. “Retested on build 412, Pixel 8: fixed. Also checked preset tips and no tip.” beats “works now”.
  • Keep decisions in the ticket, not only in chat. If a product owner says “won’t fix, by design” in a call, add a comment so the next person knows why.
  • One topic per comment, newest information first if you edit. Use the description for the reproducible facts and comments for the conversation.
  • No blame, no sarcasm. The ticket is permanent and widely read.

Finding things: filters and JQL

The search box in Jira understands two modes: a simple one with dropdowns, and JQL (Jira Query Language) for precise queries. JQL looks like code, but it’s really just sentences made of field, operator, value, joined with AND / OR, plus an optional ORDER BY.

project = SHOP AND type = Bug AND status != Done ORDER BY priority DESC
PieceMeaning
project = SHOPOnly issues in the SHOP project
type = BugOnly bugs (type is short for issuetype)
status != DoneEverything not in the Done status
ORDER BY priority DESCHighest priority first

A few more you’ll use constantly:

QueryFinds
assignee = currentUser() AND statusCategory != DoneMy open work
project = SHOP AND type = Bug AND created >= -7dBugs from the last 7 days
fixVersion = "3.8.0" AND status != DoneWhat’s left for the release
labels = regression AND type = BugBugs tagged as regressions
assignee is EMPTY AND type = BugBugs nobody picked up
reporter = currentUser() ORDER BY updated DESCIssues I reported, latest activity first

Saved filters and dashboards

When a query is useful, save it as a filter with a clear name (“SHOP open bugs by priority”). Saved filters can be shared with the team, used as the source of a board, and subscribed to, so Jira emails you the results on a schedule.

A dashboard is a page of small panels (gadgets), each fed by a filter: a list of your open bugs, a pie chart of bugs by component, a “created vs resolved” chart for the release. A simple tester dashboard might show:

  • My open work (assignee = currentUser() AND statusCategory != Done)
  • Bugs waiting for retest (status = "In Testing" AND type = Bug)
  • New bugs this week, by priority
  • Open bugs for the next release (fixVersion = "3.8.0" AND type = Bug AND statusCategory != Done)

Test management add-ons

Jira on its own tracks stories, tasks and bugs, but not test cases or test runs. Teams add that with apps from Atlassian’s marketplace, such as Xray or Zephyr, or connect an external tool like TestRail. With these, test cases can be linked to stories (for test coverageTest coverageHow much of the product, requirements or risks your tests actually check.Open in glossary → and a traceability matrixTraceability matrixA table linking each requirement to the test cases that cover it.Open in glossary →), test runs record results per build, and a failed test can create a linked bug in one click. You’ll learn the specific tool on the job; the ideas are covered in Regression and Smoke Suites.

Common mistakes

Practice: run a story through the sprint

This is a simplified mock of a Jira-like board, not the real product. Story SHOP-142 is in In Testing and assigned to you. Read what you found, create the bug (the form gives hints as you go), then move both tickets through the workflow. You’ll play the developer too. Use the status dropdown on each card to move it, and watch the activity log.

Your sprint goals

  1. 1. Report the bug and link it to the story
  2. 2. Get the bug through the fix (play the developer)
  3. 3. Retest the bug and close it
  4. 4. Close the story

What you found while testing SHOP-142

Pixel 8, Android 15, QuickBite 3.8.0 build 409 on staging. Cart subtotal €18.40 + delivery €2.50. Checkout, then Tip your courier → Custom → 2.50 → Done. The tip row says €2.50 but the total stays €20.90 (should be €23.40). Preset tips work. Happens every time. You recorded a short video.

TrackerSHOP board · Sprint 14Simplified mock, not the real Jira

To Do 0

No issues

    In Progress 0

    No issues

      In Review 0

      No issues

        In Testing 1

        • Add a tip for the courier at checkout

          StorySHOP-142Priority HighAssignee Mia Novak

        Done 0

        No issues

          Activity

          1. Luka Petrov: Moved SHOP-142 to In Testing. Ready on staging, build 409. @Mia Novak over to you!

          Practice: build JQL queries

          Compose a query from the dropdowns and watch the JQL and the results update. The filter really runs on the mock issues below. Try to solve all five challenges.

          Challenge 1 of 5: Open bugs

          All SHOP bugs that are not Done yet.

          Hint: Three conditions: project, issue type and status.

          Not yet: 0 missing, 8 extra.

          TrackerFilters · Advanced searchSimplified mock, not the real Jira

          JQL

          project = SHOP ORDER BY priority DESC

          15 issues found

          15 issues
          KeySummaryStatusPriority and assignee
          BugSHOP-150Checkout: order total ignores custom tip on Android· checkout, androidTo DoPriority HighestAssignee Luka Petrov
          StorySHOP-142Add a tip for the courier at checkout· checkoutIn TestingPriority HighAssignee Mia Novak
          BugSHOP-153Checkout: Pay button text cut off in German· checkout, l10nIn ReviewPriority HighAssignee Sara Kim
          BugSHOP-156Promo: expired code still accepted on web· checkout, web, regressionTo DoPriority HighAssignee Mia Novak
          BugSHOP-159Cart: badge shows 0 after app restart· cart, regressionDonePriority HighAssignee Mia Novak
          EpicSHOP-120Courier tipping· checkoutIn ProgressPriority MediumUnassigned
          Sub-taskSHOP-143Tip selector UI· checkoutDonePriority MediumAssignee Sara Kim
          TaskSHOP-144Send tip amount to the order API· checkout, backendDonePriority MediumAssignee Luka Petrov
          BugSHOP-151Search: results flicker while typing fast· searchIn ProgressPriority MediumAssignee Sara Kim
          BugSHOP-154Push: "Courier picked up" arrives twice on iOS· tracking, iosIn TestingPriority MediumAssignee Mia Novak
          BugSHOP-155Profile: avatar upload fails above 5 MB· profileDonePriority MediumAssignee Luka Petrov
          StorySHOP-157Save favorite restaurants· searchTo DoPriority MediumUnassigned
          TaskSHOP-158Update the regression suite for tipping· regressionIn ProgressPriority MediumAssignee Mia Novak
          BugSHOP-152Tracking: map pin one street off on first load· trackingTo DoPriority LowUnassigned
          BugSHOP-160Settings: dark mode toggle label misaligned· uiTo DoPriority LowestUnassigned

          You are signed in as Mia Novak (MN). "Today" in this mock is fixed, so relative dates always give the same answer. The mock's text search is a simple "contains"; real JQL text search matches whole words.

          Your first-week Jira checklist

          Your first-week Jira checklist

          0 of 10 checked

          Check your understanding

          Quick quiz

          0/6 answered · 0 correct

          1. 1.You find that the order total is wrong when a custom tip is entered. Which issue type should you use?

          2. 2.Your bug means the story can't be released until it's fixed. Which link fits best?

          3. 3.What does this JQL return? project = SHOP AND type = Bug AND status != Done ORDER BY priority DESC

          4. 4.Which query shows your own open work and keeps working when a teammate uses the same filter?

          5. 5.A developer moved your bug to In Testing. What should you do before moving it to Done?

          6. 6.Why does this lesson avoid exact click paths for Jira?

          Key takeaways

          • Jira tracks work as issues (Epic, Story, Task, Bug, Sub-task) inside projects, shown on Scrum or Kanban boards.
          • Workflows and fields differ per team: learn yours, and treat any tutorial’s screens as examples.
          • A good bug ticket uses the Bug type, a specific summary, steps/expected/actual, environment, evidence, and a link to its story.
          • Link, watch and comment factually; @mention only when you need someone.
          • JQL is field-operator-value sentences: project = SHOP AND type = Bug AND status != Done ORDER BY priority DESC. Save useful queries as filters and put them on a dashboard.
          • Never move a bug to Done without retesting it on a build with the fix.

          Finished this page?Nice work, this page is complete!

          Mark it as done to track your progress. It's saved in this browser, no account needed.

          Its review cards are now in Bites ⚡
          Esc

          Type to search the whole site.