While categorizing bugs and writing bug reports, severity and priority are two key metrics to include.
These terms, used all the time when talking about bugs, are often used interchangeably.
As they are very helpful metrics, understanding and applying them correctly is vital for clear and useful bug reports.
In this article, we will explain the differences between these two concepts, discuss the common severity and priority levels of the two categories and demonstrate how they are used together on some practical examples.
Let’s start by defining these two concepts and their classifications.
Table of Contents
What is bug severity
Bug severity defines a bug’s negative impact on a piece of software—the higher the severity, the greater the impact on performance or functionality.
We can use this definition to talk about how a bug affects app development, and the way a severe bug can halt or delay production until you address it.
Or, we can view severity in the light of how bugs affect the function of an app while it’s being tested or used by end-users after release.
In short, this term talks about how severe an issue is.
We can put a bug into several categories based on how much it can damage your application.
The most common classification is:
You can view low-severity bugs as small inconveniences that don’t affect the core functions of your application.
These include, for example, grammar or spelling mistakes in the copy, visual inconsistencies and other small user interface (UI) issues.
Although low-level bugs like these don’t significantly impact your app, you would do well to take care of them eventually.
Get unreal data to fix real issues in your app & web.
Eliminating visual errors can make your app look polished and professional, ensuring users have a pleasant experience.
A minor bug is slightly more damaging. It can affect some minor features of your app that aren’t critical to its functioning, causing them to behave differently than expected.
These issues can be anything from broken buttons and links to UI issues such as mispositioned or missing elements.
For example, this Reddit user has found a visual bug on their iPhone running iOS 16:
As you can see, the lock screen has a visual bug where the date text overlaps with itself.
The user can still use the phone without other issues, but they may be frustrated if they want to view the date and time without opening the calendar app.
You should address these bugs sooner rather than later, as they can cause frustration with users.
We can classify a bug as a major-level defect when it causes the loss of certain essential app functions but does not impede the use of the entire app.
For example, in an email service, a bug can prevent an important functionality—sending a message to multiple people by using the CC section.
In the following screenshot, a major bug prevents users from completing an order:
The most severe issues are critical-level bugs that can make the app crash, freeze or prevent it from being used at all.
Therefore it’s necessary to address these bugs as soon as possible, as they are most likely to damage your business.
So far, we’ve covered bug severity and its four levels. Next, we will explain bug priority.
What is bug priority
Bug priority defines how urgently a bug needs to be fixed and eliminated from your product.
It determines the order in which your team should fix defects. The higher the priority, the sooner they need to address it.
This is a critical element in the software development process, as correctly assigning bug priority enables you to tackle the most important issues first, focusing your team’s efforts and resources on the right tasks.
There are different bug priority levels, but the simplest and most commonly used classification entails the following:
A low priority level (P3) means that the bug isn’t a serious issue and you can deal with it after you deal with the critical defects or, if the bug is insignificant, you may choose to fix it in future releases or perhaps not fix it at all.
Medium priority (P2) bugs are issues you should address but are not urgent.
If your team finds a new bug, they may choose not to fix it immediately if they deem it a medium-priority issue.
In fact, a fair amount of bugs are not dealt with right away.
And this is a good thing—if all bugs were dealt with as they are found without prioritization, your team may find itself focusing their efforts on trivial issues and postponing important fixes.
If a less important bug is discovered, your team can choose to fix it before a major app release, but after dealing with the most damaging defects.
These critical defects are categorized as high priority (P1) and need to get fixed immediately—sometimes, developers may even drop everything they are working on to address them.
They need to get fixed urgently, as the entire functionality of the app can get blocked, or potential security breaches can happen if the bug is left unchecked.
Based on the priority classification, the timeframe for fixing the bug can also be set.
When working within the Agile framework, issues are dealt with within sprints, i.e., short time periods during which teams work to accomplish specific tasks.
If a bug doesn’t affect the business or user experience, your team doesn’t have to fix it in the same sprint in which it’s found. In other words, issues that affect a few users or devices, typos, and other minor inconveniences can be dealt with later on.
When a bug impacts the app a little bit more and you’ve categorized it as medium priority, your team can handle it by the time your company plans on releasing a new update.
However, if a critical failure is encountered, a hotfix can be necessary—postponing a high-priority bug can result in losing customers and your business’s reputation.
Bug priority is an important metric that can help direct your team effectively, making them focus on critical issues first.
Bug severity vs. bug priority: key differences
By now, you should understand that bug severity and priority are different concepts used for analyzing bugs.
To further elaborate on this point, we will present the key differences between these two terms.
As you can see, severity deals more with the technical aspects of the bug, and how severely the defect impacts your app’s functionality by looking at the requirements and standards you’ve set.
Assigning severity levels needs to be done objectively, looking at the potential damage of a defect without concerning yourself with other aspects.
Contrary to this, bug priority is not a fixed value and can change depending on any changes in your project’s scope and goals.
It has to do with sorting out bugs effectively and scheduling the time to address them so your business or users aren’t negatively affected by the problems.
In short, you can think of these two concepts in light of the main goals you want to accomplish by using them.
While you use severity levels to determine how bad the defect affects your software, you use prioritization to plan how soon you need to address this defect.
These two concerns are addressed by different individuals in your organization.
Bug severity is assigned by QA or test engineers who focus on two aspects of the bug:
QA engineers identify how frequently the bug can occur, either by looking at the number of user reports of the bug or seeing how often the testers can reproduce it by following the reproduction steps.
Once the defect has been isolated and identified, QA engineers can determine to what extent it impacts the application—whether it influences major functionalities, crashes the entire app, etc.
It is significant to consider both parameters as a rarely occurring bug with a large impact can be classified as low severity, since it doesn’t come up very often.
In contrast, a minor bug can be problematic if it frequently occurs in the code and users report it often—making for a bad user experience.
Bug priority, on the other hand, is often given by product managers—they determine the order in which bugs should be fixed, keeping the business side of things in mind.
They can ask a few questions in order to decide the order:
As you can see, bug severity is a small part of the larger context needed to determine bug priority.
Prioritization considers the number of users affected by the problem and the specific environments and devices where the bug occurs—if the number of users and devices affected is low, so is the priority.
Product managers also consider the business side of things.
Issues that carry legal implications can be of extreme importance—whether it’s a small typo in the Terms of Service of your app, or a bug that can cause a severe security breach, compromising user data.
The things we covered in this section represent the key differences between bug severity and priority—although interconnected, these concepts are considerably different.
Bug severity vs. bug priority: do you need both
While discussing bug severity, we ranked bugs from low severity to critical.
You may think that you should deal with critical or major-level bugs immediately and simply leave minor and low-severity ones until later—effectively eliminating the need for bug priority as a metric.
Frequently this is the case, as you can prioritize bugs based only on their severity.
But as explained above, bug priority is not synonymous with bug severity. Severity is only one aspect to consider when prioritizing defects.
Usually, a combination of both is a useful metric for bugs, and a good bug report should contain both metrics.
Here are the possible combinations:
Bugs that are high severity and low priority affect your app greatly but may only show up on specific devices, disable functionalities that are rarely used, have a low reproduction rate, etc.
For example, a link in the Privacy Policy of your app may not work—displaying a 404 error instead of directing the user to the proper website.
Although this issue is severe, users rarely read privacy policies, so fixing the problem may not be a high priority.
Very handy for handling user feedback. CTOs, devs, testers – rejoice.
Low severity and low priority, on the other hand, are issues that affect rarely-used aspects of the app or they are trivial problems such as typos and spelling errors, misalignment of buttons and other elements, etc.
These trivial issues can become a priority to solve, however, if they occur in important parts of your app.
Take a look at this low severity and high priority bug on the TripAdvisor app.
As shown, the ratings of hotels are overlaid with the hotel names making both unreadable in some cases.
This bug doesn’t affect the functionality of the app—users can still view the hotels and book a room effectively but it can discourage users from taking the app seriously.
Failing to address these bugs can lower your company’s image and reputation and significantly lower user experience.
Finally, a high severity and high priority bug is when an issue affects your app greatly, preventing one of its core functions or the use of the app entirely.
Take a look at this example:
As shown in the screenshot above, the user experiencing this bug reported that the login button was greyed-out and unresponsive when clicked.
The login functionality of your app is one of its vital elements, and you should address a bug like this immediately, or users will be unable to use your services.
As you can see, these two concepts are often used together when categorizing bugs, and the different combinations of severity and priority levels are very useful if you want to explain and differentiate bugs.
Conclusion
Although connected, bug severity and priority are different concepts, used for two vital aspects of a bug, and are determined by different teams and specialists.
Both concepts are extremely important while talking about bugs, but only when used correctly.
In this article, we tried to give a thorough overview of these terms, allowing you to set them apart better and use them most effectively.
Hopefully, you will leave with a better understanding of bug severity and priority and help your team use them appropriately as well.