Blog · Guides · 2026-06-30

Severity vs. Priority: How to Classify a Bug Correctly

Vishal Kumar · Quantana
TL;DRSeverity is how badly a bug breaks the product; priority is how soon you should fix it. They are independent axes — a bug can be high on one and low on the other. Severity is a technical judgment about impact, usually set by whoever finds the bug. Priority is a business judgment about urgency, set by whoever owns the roadmap. Keep them separate, classify each with a simple rubric, and your team will always work the right bug next.

Two words decide what your team works on next: severity and priority. Most bug trackers ask for both, most people fill them in interchangeably, and that single confusion is why a cosmetic typo can outrank a data-loss bug — or why a crash nobody hits eats a sprint. The fix is to understand that they measure two different things, and to classify each on its own terms.

This is one of the oldest distinctions in software quality — codified in test-engineering bodies of knowledge like the ISTQB glossary, which defines severity as the degree of impact a defect has on the system, and priority as the level of business importance assigned to fixing it. The definitions are simple. Applying them consistently is where teams slip.

Severity: how badly it breaks

Severity is a property of the bug itself. It asks one thing: how much damage does this defect do when it triggers? It ignores how often it happens, how many users are affected, or whether a deadline is looming. Those are priority questions. Severity is purely about impact on the system at the moment of failure.

A workable four-level severity rubric:

  • Critical — the app crashes, loses or corrupts data, exposes a security hole, or completely blocks a core workflow. No workaround exists.
  • Major — a core feature is broken or behaves wrong, but a clunky workaround exists, or only one important path is affected.
  • Moderate — a secondary feature is broken, or a core feature misbehaves in a way users can route around easily.
  • Minor — cosmetic issues, misaligned elements, typos, wording — nothing that stops a user from completing a task.

The reliable test for severity is: what does this bug stop a user from doing, and is there a workaround? Answer those two questions and the level falls out almost mechanically. Notice that none of it depends on business context — that's the whole point.

Priority: how soon you fix it

Priority is a property of your situation, not the bug. It asks: relative to everything else in the backlog, how urgently should this be fixed? Now it's entirely fair to weigh the things severity ignored — how many users hit it, what it costs in revenue or trust, whether a launch or a customer contract depends on it, and what else is competing for the same engineering time.

A workable priority scale:

  • P0 / Urgent — drop everything; fix today. Often hotfixed outside the normal release cycle.
  • P1 / High — fix in the current sprint or release.
  • P2 / Medium — fix soon, scheduled into an upcoming cycle.
  • P3 / Low — fix when convenient, or batch with related cleanup.

The same defect can move in priority over time without its severity ever changing. A minor visual bug on a landing page is normally P3 — until that page is the hero of a launch campaign next week, and suddenly it's P1. The bug didn't get worse; your context did.

The four quadrants

Because the two axes are independent, every bug lands in one of four combinations. The off-diagonal cases — high on one axis, low on the other — are exactly where teams that conflate the two go wrong.

High priorityLow priority
High severityCheckout crashes for all users. Fix now — drop everything.App crashes only on an unsupported legacy browser used by a tiny fraction of traffic. Serious failure, almost nobody hits it. Schedule it.
Low severityWrong price shown on the pricing page, or a typo in your headline. Nothing breaks, but it costs trust or money — fix today.A tooltip is misaligned by a few pixels on one screen. Fix when convenient.

The two off-diagonal cells are the lesson. High severity, low priority: a real failure that almost nobody encounters. Low severity, high priority: nothing technically breaks, but the business impact is large. A team that treats severity and priority as the same number cannot represent either of these — and will mis-rank both.

Who sets which

Separating the two decisions is easier when different roles own them:

  • Severity is set by whoever finds or triages the bug — QA, an engineer, the reporter. It's an objective read of technical impact, so the person closest to the failure is well placed to judge it.
  • Priority is set by a product owner, an engineering lead, or a triage group. It requires context the reporter usually doesn't have: roadmap, customer commitments, what else is in flight.

When the same person sets both in the same instant, the two numbers tend to collapse into a single gut feeling of "how much do I care about this." Splitting the decision — even just answering the severity question first, before thinking about scheduling — keeps each honest.

Where classification actually breaks down

In practice, the failure mode isn't disagreement about the rubric — it's not having enough information to apply it. You can't judge severity from "the page is broken." You need to know what broke: was it a crash, a failed request, a wrong value, or a layout glitch? You can't judge priority from a single report either — you need to know whether it's one user's edge case or a pattern hitting everyone.

That's why classification quality is downstream of report quality. A bug ticket that carries the exact error, the failed network request, the console output, and the screen state lets a triager assign severity in seconds instead of guessing — or worse, bouncing it back as "cannot reproduce." And when the same defect shows up across many reports, that recurrence is itself the strongest priority signal you have. This is the same evidence-first discipline behind a bug report developers actually act on and behind a backlog you can triage without losing your mind.

This is where capturing context automatically pays off. Klavity Snap attaches the screenshot, console, and network trail to every report, so severity isn't a guess. And because Klavity AutoSim runs AI personas through your product continuously, the same failure surfacing across many runs gives you the recurrence signal that drives priority — turning two fuzzy judgment calls into evidence-backed ones.

Key takeaways

  • Severity = how badly the bug breaks the product (impact). Priority = how soon you should fix it (urgency). They are independent axes.
  • Classify severity by asking what the bug stops a user from doing and whether a workaround exists — ignore business context at this step.
  • Set priority by weighing reach, revenue, trust, and deadlines against everything else in the backlog. The same bug's priority can change while its severity stays fixed.
  • The hard cases are off-diagonal: high-severity/low-priority (a serious failure almost nobody hits) and low-severity/high-priority (a typo on the pricing page).
  • Let the reporter or QA set severity and a product owner set priority — and remember that both judgments are only as good as the evidence in the bug report.

FAQ

What is the difference between severity and priority in a bug report?

Severity measures how badly the bug damages the product — does it crash, corrupt data, or block a core workflow, or is it a cosmetic glitch? Priority measures how soon the team should fix it relative to all other work. Severity is a technical judgment about impact on the system; priority is a business judgment about urgency. They are set independently, often by different people, and a bug can be high on one scale and low on the other.

Can a bug have high severity but low priority?

Yes — and this combination is common. A crash that only triggers on a deprecated browser used by 0.1% of traffic is high severity (it completely breaks the app) but low priority (almost no one hits it). The reverse also happens: a typo in your headline or a wrong price on the pricing page is low severity (nothing breaks) but high priority (it damages trust or revenue and must be fixed today).

Who decides severity and who decides priority?

Severity is usually set by whoever files or triages the bug — QA, an engineer, or the reporter — because it is an objective assessment of technical impact. Priority is set by a product owner, engineering lead, or triage group because it weighs the bug against business context: how many users are affected, revenue impact, deadlines, and what else is in flight. Keeping the two decisions separate is what keeps the system honest.

How do I classify a bug's severity quickly?

Ask one question: what does this bug stop a user from doing, and is there a workaround? A crash, data loss, or security hole with no workaround is critical. A broken core feature with a clunky workaround is major. A broken secondary feature is moderate. A cosmetic or text issue that doesn't affect function is minor. Grounding the answer in captured evidence — the exact error, the network failure, the screen state — removes most of the guesswork.

Classify bugs from evidence, not guesswork

Klavity: right-click bug reports with full context, AI personas that review your product, and self-healing tests.

Get started free