At the beginning of a QA career, every tester has faced these questions: How do I describe this bug correctly? High major? ASAP minor? When is ASAP, exactly? What if I set critical, and then it turns out that the bug is non-critical?
Let's clear up the matter.
A bug is a mismatch between the actual and expected behavior of the system. Each bug has two key attributes: Severity and Priority. These are not the same thing. As a starting point: severity refers to the technical side of the issue, and priority refers to the managerial side.
The number of levels for each attribute depends mainly on the bug-tracking software used on the project. Sometimes a company has its own traditional bug distribution system.
Severity#
Severity is an indicator of how crucial a bug is - specifically, how much it affects the entire system's performance. This attribute is usually set by the tester, since the tester can immediately understand how much the bug affects the overall system.
Severity Levels#
Blocker
The website is down. The application is down. Something is blocking the whole system's performance.
It is important to correctly estimate what counts as a "blocker." For example, if a tester checks the Wish List feature of a web store and finds it is impossible to add an item to the Wish List - but all other important parts of the store work as expected - that is not a blocker. It does not block the entire system, even though it prevents a specific test case from completing normally.
Critical
The bug leads to a large-scale disaster. Examples:
- Data leakage
- Confidential information disclosure
- A failure in essential application functionality
We are still in trouble, but only partially.
Major
The bug brings serious inconvenience to many users during typical activities. Examples:
- Pasting from the clipboard is not available
- Conventional keyboard shortcuts do not work
- A user needs to restart the application when performing typical work scenarios
We fix it and nobody dies.
Medium
The bug has little effect on typical user scenarios, or there is a workaround to achieve the desired result. Examples:
- The dialog box does not close automatically after pressing "OK" or "Cancel"
- The value of the "Duplex printing" field is not saved when printing several documents in a row
- There is confusion in sorting one of the table columns
We will fix it if nothing more important comes up.
Minor
The bug is rarely detected by a small percentage of users and barely affects their work. Examples:
- A typo in one of the minor tabs of the settings menu
- One of the application windows is inconveniently displayed on screen
- The estimated time of the file copy operation is displayed incorrectly
We will fix it eventually.
Priority#
Priority indicates how quickly the bug should be fixed. This attribute is usually set by the project manager.
Priority Levels#
Highest (ASAP)
The bug needs to be fixed as quickly as possible. Depending on the context, "as soon as possible" can mean "in the next build" or "right this instant."
High
The bug should be fixed out of turn, because its existence either already interferes with application performance or will interfere in the very near future.
Normal
The bug should be fixed in order of priority. This level is assigned to most bugs.
Low
This bug fix will not have a significant impact on product quality in the near future.
Why Both Attributes Are Necessary#
Is it possible to use only one attribute, like severity? For a small project with few errors, yes. But for large projects, the combination of both attributes in the bug description is very important.
Example 1 - Critical severity, Low priority:
You find a major issue in the reporting module. It is a defect with a critical severity level. However, this module is only needed at the end of the year. If it is currently summer, this functionality will not be used for a few more months. The project manager may therefore assign low priority to this bug. Result: Critical Low.
Example 2 - Minor severity, Highest priority:
The company logo disappears from the main page and is replaced by an unexpected image. Changing the logo is unlikely to affect the operation of the entire system, so the tester identifies this bug as minor. But such an issue can seriously affect the company's reputation. It must be fixed as soon as possible before screenshots spread across the internet. Result: Minor ASAP.
Summary#
Severity and priority attributes classify bugs along two dimensions: the degree of impact on the system, and the sequence in which they should be fixed. Assigning the correct attributes allows you to:
- Quickly search and sort bugs in your bug tracker
- Generate informative reports without wasting time
- Help the project manager make better decisions about what to fix and when
Set the bug's attributes correctly from the start - and stop the guessing game.