Defect Triage

Defect triage is the recurring decision point where new defects are checked, classified and routed: is this a real, reproducible defect, is it already known, how bad is it, how urgent is it, who owns it and in which release will it be fixed. Done well, it keeps the untriaged queue close to empty and makes every open defect a deliberate decision. Done badly, it becomes a weekly meeting that re-argues the same twenty tickets.

This guide covers participants, cadence and meeting format, a checklist for each defect, a severity × priority decision matrix, assignment and investigation, root cause analysis with a worked example, anti-patterns and what triage should produce. How to write the report itself, and the definitions of severity and priority, are in the bug report guide; this page uses the same scales.

Purpose and participants

Triage sits between New and Open in the defect lifecycle. Its purpose is not to fix anything but to make four decisions quickly and record them: is the report valid, how severe is it, how urgent is it, and who does what next. Each decision has an owner, and mixing the owners up is the most common cause of slow or political triage.

  • Test lead or QA representative — presents the defect and its evidence, confirms reproducibility, proposes severity from the agreed scale.
  • Product owner — owns priority and the business decisions: defer, won't fix, accept a risk for this release.
  • Development lead or on-call engineer — owns assignment and gives a first technical view of cause and effort.
  • As needed — support or operations for production defects, a security owner for security-relevant defects, a designer for "is this by design?" questions.
  • Rule of thumb — QA proposes severity, the product owner sets priority, the development lead assigns; a disagreement is escalated once, and the decision and its reason go into the record.

Cadence and meeting format

Cadence follows the arrival rate and the release phase. During system testing and release hardening a short daily session is normal; in a steady sprint two or three sessions a week are usually enough. Blocker and Critical defects, and anything affecting production, are not held for the meeting: they are triaged immediately and asynchronously by whoever is on duty, and the meeting only confirms the decision.

Much of the work can be done before the meeting. The QA lead pre-screens new reports for completeness and duplicates and sends incomplete ones back to Needs info, so the session spends its time on decisions rather than on reading.

  • Record decisions in the tracker during the session, not in meeting notes or chat.
  • Keep the group small: people who can decide, not everyone who is interested.
  • Measure the process: untriaged count, age of the oldest untriaged defect, time from New to a decision.
Defect triage - 20 minutes, daily during release hardening

00-02  Queue check: number of New, oldest untriaged, any Blocker/Critical since last session
02-15  New defects, highest proposed severity first, 1-2 minutes each
       Presenter: reporter or QA lead. On screen: the defect record, not a slide.
15-18  Aged or disputed items: Needs info > 3 days, Deferred due for review, reopen disputes
18-20  Read back decisions; each owner confirms

Rule: anything that needs more than 2 minutes leaves with an owner and a written question.

The triage checklist

Run every new defect through the same questions in the same order. The first two are gates: if the defect cannot be reproduced or evidenced, or the report is incomplete, it goes to Needs info with a specific question and does not stay in New.

[ ] Reproducible?   Steps run by someone other than the reporter, or evidence strong enough for an
                    intermittent failure (logs, request id, timestamps, recording)
[ ] Complete?       Build, environment, account/role, data, expected vs actual
[ ] Duplicate?      Searched by error text, endpoint or screen, component; linked if found
[ ] Valid?          Expected result traced to a requirement, design or clear convention
[ ] Severity        Impact on user/system on the agreed scale (Blocker ... Trivial)
[ ] Priority        Business urgency (Highest ... Low): release date, users affected, visibility
[ ] Owner           A named person, or a team queue with a named lead - not "dev team"
[ ] Target release  Version or sprint; or Deferred with reason; or Won't fix with reason
[ ] Workaround      Exists? Written down for support and the release notes
[ ] Info needed     The exact missing item and who must provide it
[ ] Links           Story/requirement, test case, related defects, incident (if production)

Try it: AI Bug Severity Suggestion Try it: AI Bug Priority Suggestion

Severity × priority: a decision matrix

The bug report guide defines both scales: severity Blocker, Critical, Major, Minor, Trivial; priority Highest, High, Medium, Low. Severity is impact and priority is urgency, so any combination is possible. The matrix below gives typical decisions with examples; it is a starting point for the discussion, not a formula — the product owner may move priority, but the reason is recorded.

Severity is impact and priority is urgency, so any combination is possible: a Critical export bug whose next run is 10 weeks away is scheduled, a Trivial login-page typo is a quick fix.
Severity: impactPriority: urgency
HighestHighMediumLow
Blocker1Hotfix nowno exampleno exampleno example
Critical2Fix before releaseno exampleno example3Sched­ule
Majorno example4This release5Next sprintno example
Minorno example6Before launch cam­paignno example7Backlog
Trivialno example8Quick fixno example9Backlog
  • 1Login returns 500 for every user in production → hotfix now, incident open
  • 2Checkout charges the wrong VAT amount, release in 7 days → fix before release; blocks sign-off
  • 3Quarterly admin export drops rows; next run in 10 weeks → schedule; set a review date
  • 4Orders list ignores the date filter; workaround: sort → fix in this release
  • 5Bulk import over 5 MB fails with no message; rare → next sprint
  • 6Arabic error text shows an English placeholder on the national ID field of the sign-up form → fix before a launch campaign
  • 7Tooltip clipped at 320 px width in the Arabic layout → backlog
  • 8Company name misspelled on the login page → quick fix; high visibility
  • 9Extra space in the footer copyright line → backlog; batch with copy fixes
  • Blocker or Critical at Low priority needs a written reason: the feature is off, the date is far away, or no user can reach it
  • Minor or Trivial at High or Highest is usually about visibility: legal text, the brand, a demo, a screen a regulator or key customer will see

Typical decisions for the page’s examples: a starting point for the discussion, not a formula. An empty cell only means the page gives no example there.

  • A Blocker or Critical defect with Low priority needs a written reason: the feature is switched off, the date is far away, or no user can reach it.
  • Trivial or Minor with High or Highest priority is usually about visibility: legal text, the brand, a demo, a screen a regulator or a key customer will see.
  • Priority is not lowered to meet an exit criterion; severity is not changed without new evidence.
  • The AI Bug Priority Suggestion tool expresses its suggestion on a P0–P3 scale, from P0 (fix immediately) to P3 (backlog). Keep a written mapping to your tracker — for example P0 → Highest, P1 → High, P2 → Medium, P3 → Low.
Text version
Severity x Priority   Example defect                                          Typical decision
--------------------  ------------------------------------------------------  ------------------------------
Blocker  x Highest    Login returns 500 for every user in production          Hotfix now, incident open
Critical x Highest    Checkout charges the wrong VAT amount, release in 7 d   Fix before release; blocks sign-off
Critical x Low        Quarterly admin export drops rows; next run: 10 weeks   Schedule; set a review date
Major    x High       Orders list ignores date filter; workaround: sort       Fix in this release
Major    x Medium     Bulk import over 5 MB fails with no message; rare       Next sprint
Minor    x High       Arabic error text shows an English placeholder on the   Fix before a launch campaign
                      national ID field of the sign-up form
Minor    x Low        Tooltip clipped at 320 px width in the Arabic layout    Backlog
Trivial  x High       Company name misspelled on the login page               Quick fix; high visibility
Trivial  x Low        Extra space in the footer copyright line                Backlog; batch with copy fixes

Try it: AI Bug Severity Suggestion Try it: AI Bug Priority Suggestion

Assignment and investigation

Assign by ownership, not by who happens to be in the room: the component or service owner, or a team queue with a named lead who distributes within a day. A defect assigned to "the team" has no owner. When the cause could sit in several layers — app, API, data — assign it to the layer where the failure is observed and let that owner hand it on with evidence, rather than holding it in triage until someone guesses right.

Investigation is the owner's work after triage, and it should be time-boxed. If a defect cannot be reproduced within the agreed time, it returns to Needs info with the list of what was tried, or is resolved as cannot reproduce with the evidence kept.

  • Reproduce with the reporter's data in the reporter's environment first, then locally.
  • Find the last good build and narrow the change range; with git, bisect the commits in between.
  • Compare a working and a failing case — web against Android, one account against another — at the request level: capture both requests and diff the responses.
  • Read the stack trace from the first frame in your own code; check configuration, feature flags and data before changing code.
  • Write findings into the defect record, not only into chat, so the next person does not start again.

Try it: AI Error Message Analyzer Try it: HTTP Request Inspector Try it: cURL Generator Try it: API Response Analyzer

Root cause analysis: 5 whys, fishbone and origin

The fix removes one defect; root cause analysis asks why the error was made and why it was not caught earlier, so that the same class of defect is prevented. The ISTQB Foundation syllabus separates the root cause from the defect and from the failure it causes. Run a root cause analysis for Blocker and Critical defects, production escapes and recurring patterns — not for every typo.

The 5 whys technique asks "why?" repeatedly, starting from the failure, until the answer is a process cause the team can change. Five is a heuristic, not a rule; stop when the answer is actionable, and branch when one answer has several causes. A fishbone (Ishikawa) diagram lays the candidate causes out by category so that the discussion does not fix on the first plausible one. For software, useful categories are the same as the origin classes below, plus people and process.

Classify each defect by where it originated. IEEE 1044 defines a far richer set of attributes for classifying anomalies; the six origins below are a simple starting point that most teams can apply consistently in triage.

  • Requirements — missing, ambiguous, wrong, or changed without the change reaching every consumer.
  • Design — an architecture or interface decision that is wrong or inconsistent.
  • Code — an implementation error: logic, boundaries, null handling, concurrency, duplicated logic.
  • Environment — configuration, infrastructure, versions, a third-party service, deployment.
  • Data — unexpected, malformed or badly migrated data; wrong reference data.
  • Test — the defect was in the test itself (a false positive), or a test gap let it escape; record test gaps as contributing causes.

Worked example: root cause of a VAT defect

A fictional example, continuing the defect followed in the defect lifecycle guide: an Android checkout charged 190.00 SAR instead of 184.00 when a fixed-amount coupon was applied, because VAT was calculated before the discount.

  • The analysis ends in process changes with owners and dates, not in a person to blame.
  • The primary origin is where the defect was introduced; the contributing causes explain why it survived.
  • The test action turns the failure into a permanent check, which is the cheapest part of the prevention.
DEF-2417  Android checkout charges 190.00 SAR instead of 184.00 with a fixed-amount coupon

5 whys
1  Why was the amount wrong?       API v2 pricing applied the coupon after calculating 15% VAT.
2  Why did v2 do that?             v2 has its own copy of the pricing function, forked from v1.
3  Why was the copy not updated?   The rule "VAT on the discounted price" (release 5.1) was written
                                   as a story for web checkout only; no one listed the other
                                   consumers of pricing.
4  Why did tests not catch it?     v2 API tests had no coupon cases; the test data had no coupons.
5  Why was there no coupon case?   v2 tests were copied from v1 happy-path cases and never reviewed
                                   against the pricing decision table.

Fishbone (contributing causes)
  Requirements  rule change scoped to one client
  Design        pricing logic duplicated per API version
  Code          order of operations in v2 price() and summary()
  Test          no coupon x VAT combinations at API level; test data without coupons
  Environment   none (reproduced on staging and locally)
  Data          none

Classification  origin: requirements (primary); code, test (contributing)
Actions (owner, due)
  - One pricing service used by v1, v2 and web              (omar.k, release 5.4)
  - Decision-table API tests: coupon type x VAT x rounding  (layla.h, 2026-09-25)
  - Story template asks "Which clients or APIs use this rule?" (product owner, next refinement)

Triage anti-patterns

  • Triage as a status meeting — reading every open defect instead of deciding the new ones.
  • Priority inflation — when everything is High, High means nothing. Watch the distribution.
  • Severity bargaining — lowering severity to pass an exit criterion. Severity changes need new evidence.
  • Assigning to "the team" — nobody owns the defect, so nobody fixes it.
  • Rejecting without a reference — "works as designed" with no requirement or design quoted.
  • Cannot reproduce as a bin — closing intermittent defects without recording what was tried or keeping the evidence.
  • Permanent deferral — deferred with no review date becomes a hidden backlog.
  • Debugging in the meeting — investigation belongs to the owner after triage.
  • Blame — a root cause analysis that ends in "developer X was careless" has not found the root cause.
  • Decisions in chat — if it is not in the tracker, it did not happen.

What triage produces

A triage session is finished when every defect it touched has left New with a recorded decision. AI assistance can speed up the clerical part — a clearer title, a structured description, a suggested severity and priority with a justification — but the decisions stay with the people who own them.

  • For each defect: new state, severity, priority, owner, target release, links, and the reason for any non-fix resolution.
  • Needs-info requests addressed to a named person with the exact question.
  • An updated known-issues and risk list for the release decision.
  • Escalations: Blocker and Critical defects flagged to the release manager the same day.
  • Root cause analysis tasks for qualifying defects, with owners and dates.
  • Triage metrics: untriaged count and age, time to decision, rejected and duplicate rates.

Try it: AI Bug Title Generator Try it: AI Bug Description Generator

Frequently asked questions

Who should attend defect triage?

The people who own the decisions: a test lead or QA representative, the product owner and a development lead. Support, security or design join when a defect needs them. Keep the group small enough to decide.

How often should triage happen?

Daily during release hardening, two or three times a week in a steady sprint, and immediately for Blocker, Critical and production defects. The goal is an untriaged queue close to empty.

Who decides severity and who decides priority?

QA proposes severity from the agreed scale because it describes impact; the product owner sets priority because it describes business urgency. Disagreements are escalated once and the decision is recorded with its reason.

What is the difference between triage and root cause analysis?

Triage decides what happens to a new defect: validity, severity, priority, owner and release. Root cause analysis happens later, for serious or recurring defects, and asks why the defect was introduced and why it escaped earlier checks.

When is a defect rejected in triage?

When the behaviour matches the requirement or design, or the report came from a test error such as wrong data or environment. The rejection quotes the reference; if the requirement itself is wrong, it becomes a change request instead.

Can AI triage defects?

AI can suggest a severity and priority with a justification, improve a title and structure a description, which speeds up triage. The final decisions stay with QA, the product owner and the development lead.

Do the 5 whys always need five questions?

No. Five is a heuristic. Stop when the answer is a cause the team can change, and follow separate branches when one answer has several causes.

References

Practice exercise

Triage six new defects before a go-live

Your task

You are the QA lead for a municipality’s e-services portal (fictional), which has a web portal and an Android app. Release 4.6 adds online shop licence renewal and goes live in six days, so the team triages daily during release hardening. Six defects were reported yesterday and are still New. The material below gives the release context, the owners, two requirements, the six reports with the comments already written on them, and the results of the duplicate search you ran this morning.

Prepare and run today’s session on paper with the guide’s triage checklist and severity × priority matrix, using the agreed scales: severity Blocker, Critical, Major, Minor, Trivial; priority Highest, High, Medium, Low. Write every decision with its reason so that it could go straight into the tracker. A date difference calculator helps with one of the reports. Allow 30–40 minutes.

Material
Municipal e-services portal (fictional) - web portal and Android app
Release 4.6 adds "Shop licence renewal": apply, pay the fee online, book an inspection.
Go-live: Mon 12 Oct 2026. The municipality announces the new service that day.
Exit criterion for 4.6: no open Blocker or Critical defect in the renewal service.
Daily triage during release hardening. Today: Tue 6 Oct 2026, 09:30.

Owners   Payments: Faisal | Licensing service (renewal API, fees): Mona
         Android app: Huda | Web front end: Ravi | Reporting: Khalid
         Product owner: Sara | Release manager: Yousef | QA lead: you

Requirements
  FR-12  The renewal fee is 300.00 SAR. If the licence expired more than 30 days
         before the renewal request, a late fee of 200.00 SAR is added.
  FR-15  When the payment gateway confirms a payment, the application moves to
         "Under review" and the "Pay now" button is no longer shown.

New defects (state: New)

DEF-611  Payments - reported Mon 5 Oct 09:10 by Lina (tester)
         Reporter’s severity: Critical
  Staging, build 4.6.0-rc2. The gateway takes the card payment, but the application
  stays "Awaiting payment" and shows "Pay now" again, so the applicant can pay
  twice. 3 of 20 test payments; not reproduced on demand. Attached for all 3 cases:
  test account, gateway reference, request id, timestamp; server log extract.
  Comment, project manager: "Only 3 of 20. Make it Major so it does not block 4.6."

DEF-612  No component - reported Mon 5 Oct 14:40 by Noura (UAT, licensing department)
         Reporter’s severity: none
  "Booking does not work. Please fix urgently."
  No steps, environment, account, screenshot or time.

DEF-613  Android app - reported Mon 5 Oct 15:05 by Arjun (tester)
         Reporter’s severity: Minor
  App 4.6.0 (build 112), Arabic UI, renewal form: a 9-digit national ID gives an
  error message that shows the raw placeholder {field} instead of the field name.
  The response of POST /api/renewals has the same text in errors[0].message.

DEF-614  Licensing service - reported Mon 5 Oct 16:20 by Lina (tester)
         Reporter’s severity: Major
  Staging, build 4.6.0-rc2. Test case TC-207 expects a fee of 300.00 SAR; the
  portal shows 500.00 SAR for test shop T-118. Test data: the T-118 licence
  expired on 21 Aug 2026; the renewal was requested on 5 Oct 2026.
  Comment, developer: "Works as designed. Close."

DEF-615  Android app - reported Mon 5 Oct 17:30 by Arjun (tester)
         Reporter’s severity: Blocker
  App 4.6.0 (build 112): the booking confirmation screen shows an inspection
  booked for 09:30 as 12:30. The web portal and the confirmation SMS show 09:30
  for the same booking (BK-20931). Reproduced 3 of 3 times on two devices.

DEF-616  Reporting - reported Mon 5 Oct 18:00 by Lina (tester)
         Reporter’s severity: Minor ("admin only")
  Staging, manual run. The annual licence statistics export (CSV) for the national
  statistics office leaves out every shop whose trade name contains a comma:
  4 of 250 test shops are missing. The export runs once a year; next run: 10 Jan 2027.
  Comment, development lead: "Assign to: backend team."

Tracker search this morning (open defects only)
  "Awaiting payment", payment callback ........ no match
  {field}, national ID, POST /api/renewals .... DEF-598
  booking, inspection, appointment ............ DEF-590
  fee, late fee / confirmation time / export .. no match

DEF-598  Open · Minor · Low · owner Ravi (Web front end)
  Web, Arabic UI: the national ID error message shows the raw placeholder {field}.
  Ravi’s note: the text comes from the API error response.
DEF-590  Open · Major · High · owner Huda (Android app)
  Android: inspection slots for next week do not load (endless spinner).
  Workaround: book on the web portal.
Steps
  1. Pre-screen the queue: run every defect through the two gates (reproducible or evidenced, complete) and the duplicate check against the search results. Decide which reports leave New before the session, and how.
  2. Do the two-minute queue check: how many defects are New, which is the oldest untriaged, and is there a Blocker or Critical that should not have waited? Then put the rest in discussion order.
  3. For each remaining defect, decide and justify: valid or not (with the reference), proposed severity, the priority you expect the product owner to set, a named owner for the development lead to confirm, target release or deferral with a reason, workaround and links.
  4. Find the triage anti-patterns in the material, including the comments already on the records, and write what you do instead.
  5. Write what the session produces: the new state of each defect, the needs-info request, escalations to the release manager, known issues, and the defects that need a root cause analysis.
Show the model answer
Model answer

Before the session. Two reports can leave New without taking meeting time: DEF-612 fails the completeness gate and goes to Needs info (below), and DEF-613 is a duplicate of DEF-598 — same message, same field, same API response. The other four pass both gates and the duplicate check: DEF-611 has the evidence an intermittent failure needs, DEF-614, DEF-615 and DEF-616 are complete, and the only other search hit, DEF-590 (inspection slots do not load), is a different failure from DEF-615 (a wrong time on the confirmation). Queue check in the first two minutes: 6 defects arrived since the last session, and 4 are still New after the pre-screen. The oldest untriaged is DEF-611, reported about 24 hours ago, and it should not have waited: a payment defect the reporter rates Critical is triaged on Monday by whoever is on duty, and today’s session only confirms the decision. The same applies to DEF-615, reported as Blocker at 17:30: a check that evening would have shown that it is not a Blocker (below). Discuss the four by your proposed severity, highest first, not by the reporter’s: DEF-611, DEF-616, DEF-615, DEF-614.

DEF-611 — valid, and evidenced well enough. It was not reproduced on demand, but the evidence for all three cases (gateway reference, request id, timestamp, server log) is what the checklist accepts for an intermittent failure, and FR-15 gives the expected result. Severity: Critical — the money is taken, the service is not delivered and the applicant can pay twice, and the scale’s Critical level names payment failures. Major’s "few users affected" does not fit: 3 of 20 test payments is 15%, and every applicant it hits is charged without getting the service. Priority: Highest — money, the new service, go-live in six days. Owner: Faisal (Payments). Target: 4.6, before go-live; under the exit criterion it blocks sign-off. Workaround: none for the applicant; write the symptom down for support. Links: FR-15, the three gateway references and the test case that found it. Flag it to Yousef today. The fix needs confirmation testing with enough payments to show that a failure seen in 3 of 20 is gone; one passing run proves little. After the fix: root cause analysis (Critical, payments).

DEF-612 — Needs info, back to Noura with exact questions: web or Android app, and which app version? Which shop account? What were you booking — the inspection for a renewal? Date and time of the attempt? What exactly happened — an error text, a spinner that never stops, or nothing — with a screenshot? Add: "If you were booking a slot for next week in the Android app, this may be DEF-590; until it is fixed you can book on the web portal." Do not set severity or priority on a guess: "urgently" is the reporter’s concern and is recorded, and the product owner sets priority once the facts are in. If there is no answer within 3 days, it comes back in the aged-items slot of the session.

DEF-613 — Duplicate of DEF-598: same placeholder, same field, and the text comes from the same API response, so one fix covers web and Android. Resolve DEF-613 as Duplicate with a link, and add the Android evidence (build 112, the steps and the API response) to DEF-598. DEF-598 itself needs two corrections. Ravi’s note shows the text comes from the API, so he hands it on to Mona (Licensing service) with that evidence. And its scope is now both interfaces of a service the municipality announces on go-live day, so ask Sara to review its priority: Minor × High, fixed before go-live, is the typical decision for a visible Arabic text defect before a launch. Severity stays Minor: the field still validates the input correctly.

DEF-614 — Rejected as works as designed, with the reference. From 21 Aug to 5 Oct 2026 is 45 days, more than 30, so FR-12 adds the late fee: 300.00 + 200.00 = 500.00 SAR, exactly what the portal shows. The error is in the test: TC-207 expects the fee without the late fee for a shop that must pay it. Origin class: Test (a false positive). Action for Lina: correct TC-207’s data or expected result, and add the boundary cases of FR-12 — 30 days after expiry (300.00 SAR) and 31 days after expiry (500.00 SAR). If FR-12 does not say how the 30 days are counted (calendar days from the expiry date?), ask Sara.

DEF-615 — valid, Major, High. Check the scale from the top. Not Blocker: booking works and there is a workaround. Not Critical: the booking is stored correctly (the web portal shows 09:30), so there is no data loss, and there is no payment or security impact. Major fits: an important function, the confirmation, is wrong for every Android booking, while the SMS and the web portal show the right time. Some teams rate it Critical because an applicant who trusts the app arrives three hours late and misses the inspection; that is acceptable with the reason recorded, but leaving the reporter’s Blocker unchallenged is not. Priority: High, fix in 4.6 before go-live. Owner: Huda (Android app), because that is where the failure is observed. The cause may be in the app or in the response it receives, so her first step is to compare the BK-20931 response the Android app receives with the one the web portal receives, and to hand it on to Mona with that evidence if the API is the source. Workaround for support and the release notes: the SMS and the web portal show the correct time.

DEF-616 — valid, Critical, Low, with a written reason. Records missing from an official export are data loss in the delivered output; "admin only" says who sees the defect, not how bad it is, so Minor does not fit. Priority is Low because the export runs once a year and the next run is on 10 Jan 2027: nothing is lost before then. A Critical defect with Low priority needs that reason in the record and a review date, for example 1 Dec 2026, so that it does not become a permanent deferral. State: Deferred from 4.6 to 4.7, or to any release that ships before 10 Jan 2027. Owner: Khalid (Reporting), not "backend team". It is outside the renewal service, so the exit criterion does not apply, but it goes on the known-issues list and to Yousef today like every Critical defect. After the fix: root cause analysis.

The four anti-patterns in the material. DEF-611 and DEF-615 waited a night for the meeting, although reports rated Blocker or Critical are triaged at once, asynchronously. The project manager’s "make it Major" is severity bargaining to pass an exit criterion: severity changes need new evidence, and a low frequency does not reduce the impact on the applicant who paid; if the project manager still disagrees, escalate once and record the decision and its reason. The developer’s "Works as designed. Close." on DEF-614 reaches the right conclusion but rejects without a reference: the record must quote FR-12 and show the calculation. "Assign to: backend team" on DEF-616 assigns the defect to nobody.

What the session produces. All six defects leave New: DEF-611 Open · Critical · Highest · Faisal · 4.6, blocks sign-off; DEF-612 Needs info · Noura; DEF-613 Duplicate of DEF-598 (DEF-598 handed on to Mona, priority review by Sara); DEF-614 Rejected, FR-12 quoted, TC-207 to correct; DEF-615 Open · Major · High · Huda · 4.6; DEF-616 Deferred to 4.7 · Critical · Low · Khalid · review on 1 Dec 2026. Escalations to Yousef today: DEF-611 (blocks 4.6) and DEF-616 (Critical, scheduled). Known-issues and risk list: DEF-611, DEF-615 with its workaround, DEF-598 and DEF-616. Root cause analysis after the fixes: DEF-611 and DEF-616. Triage metrics: 1 rejected and 1 duplicate out of 6; the oldest untriaged defect was about 24 hours old before the session, and nothing is left in New.

If your answers differ, check them against the rules: severity follows the impact on the agreed scale, priority follows business urgency, and each decision has its owner — QA proposes severity, the product owner (Sara) sets priority, the development lead assigns. A different choice with a recorded reason is fine, such as Critical for DEF-615 or Medium priority for DEF-616; a decision without a recorded reason, owner or reference is not.

Your progress on this topic

Part of the QA Roadmap

Tools mentioned in this guide

Get a suggested severity (Blocker / Critical / Major / Minor / Trivial) with justification from Mutqan AI.

Bug Analysis AI

Get a suggested priority (P0–P3) considering business impact, affected users, deadlines and severity, from Mutqan AI.

Bug Analysis AI

Explain stack traces and error messages, identify likely root causes and next debugging steps with Mutqan AI.

Bug Analysis AI

See exactly what your client sends: method, headers, query, body, IP and TLS info.

API Testing

Build cURL commands from method, URL, headers, body and auth options.

Web

Analyze an API response: structure, field types, nulls, duplicates, sizes and potential data-quality issues.

API Testing

Generate clear, searchable bug titles from a messy description with Mutqan AI.

Bug Analysis AI

Turn rough notes into a complete bug report: steps to reproduce, expected vs actual, environment, severity and attachments checklist.

Bug Analysis AI

How Mutqan Soft can help

More guides

More guides