This is a basic question. Most projects mix both priority and severity into a single value. What reasons are there to separately assign severity and priority to a defect? What do testing methodologies say about that? It is practical to choose different labels for severity and different for priority?
The severity of a bug is a measure of how important the bug is to the end user: how much it breaks, how badly it breaks things, how difficult it is to get work done with this bug in place.
The priority of the bug is a measure of how important the bug is to the development team. This will take into effect the severity, but also the development time and effort, and how much impact fixing it would have on the rest of the product.
Something that is severe and easy to fix may be higher priority than something that is severe and difficult to fix; some teams will prioritize "low-hanging fruit", things that are easy to fix, over more complex fixes regardless of severity. There can be complex rules around prioritization of bugs, balancing the factors involved; therefore, usually prioritization is done by a project manager or as part of a Scrum meeting or some such. Severity can be determined when filing the bug, in isolation of any knowledge of the development effort.
Bug severity is the impact bug will have on the system which is basically derived from but not limited to
- The probability of the user getting the issue
- Reproducible rate
- Is there any easy workaround/How easily user can recover from the impact of the bug
- The application under test (example: A bug of a status not updating in a certain rare scenario can be ignored but not in case of banking application)
While priority is how fast should this bug be fix. Priority is basically a metric for managers and developers to plan the order of fixing issues.
Example: If the company name is displayed wrong on a website this is a cosmetic low severity issue as it is not harming any functionality but its a high priority issue as you can't release a website with wrong company name.
Priority defines the order in which we should resolve a defect. Should we fix it now, or can it wait? This priority status is set by the tester to the developer mentioning the time frame to fix the defect. If high priority is mentioned then the developer has to fix it at the earliest. The priority status is set based on the customer requirements
While Severity is the extent to which the defect can affect the software. In other words it defines the impact that a given defect has on the system.It is totally related to the quality standard or devotion to standard.
The severity is to know the impact of the issue on the health of the software whereas the priority is to order it for fixing. The crashes are always logged at highest severity . However if its in the main flow of the application, its priority will also be high whereas if the crash encounters in a very rare scenario , the priority is set low , generally.
I'll try to put it in the simplest words I can,
Severity: It is the measure of serioursness/danger of the issue. Something that may cause you software to crash or a security breach or basic functionality not working are all kind of very high severity issues.
Priority: It defines how quickly the issue needs to be fixed. A high priority issue means that it should be fixed immediately.
I assume you asking because your bug tool supports both severity and priority. If that is true, you might check the tool's documentation.
Whether or not to fix a bug is a function of multiple variables, e.g. how hard it might be to fix the bug, how often the bug will occur, and how detrimental the bug will be to the user when it occurs. It can be hard to capture all of those variables in a single property, so some bug tools let you set multiple properties. I suggest not getting caught up in the exact meanings of the labels "severity" and "priority"; they may or may not map to your own bug-tracking process. I believe Bugzilla lets you replace those labels if you want to.
You can can understand the deference using following URL,
Above URL mentioned the differences of severity, priority and Status clearly.
Although these two terms have been used to describe defects since the beginning of software development and testing, there are still many discussions on how to set these two defect terms.
I have been in the testing field for over 20 years, using many different testing tools and in many different organizations both public and private from which I have developed a way to define these fields based on the test phase that has been very affective and that both business and development teams can agree with.
Severity: • Severity is set based on the technical aspect of the failure during all test phases.
Priority: • During SIT – set to indicate the fix order of the defects, when there are multiple defects for any given severity level. • During UAT - set based on the business requirement. • Combined SIT/UAT - set based on QA and Business agreement.
Development Fixed and Delivered • During SIT the development team will fix defects based on severity and then priority. • During UAT or combined SIT & UAT the development team will fix defects based on Priority.
Severity is how severe a bug is! The austere of a bug is derived based on the effect of that bug on the system. It points toward the level of threat that a bug can affect the system. Severity is divided into levels, such as- Minor, Low, Major and Critical.
On the other hand, Priority is how fast a bug should be fixed and eliminated from the website. Bug priority indicates the sense of urgency for dealing with a bug on our website. Priority is divided as – High, Low, Immediate, and Medium.