I’ve noticed, many people seem to get confused about Severity & Priority. There is also much conflicting information out there on the web so decided to have a nice explanation put together about severity, Priority & the differences in two.
Severity is seriousness of the bug or defect with regards to the system, the user and the business. It 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, users or business.
For example: If an application or web page crashes when a specific link is clicked, in this case clicking that specific link by an user is rare but the impact of application crashing is severe. So the severity is high but priority is low.
Severity Scales :
- Critical: Defects which cause application crashes or loss of huge vital information, sanity failures, are assigned severity as Critical. Most of the showstopper defects come in this category.
- Major: This scale of severity is used in case of blocking issues or major functionality failure. These kinds of defects are generally blocking the tester to execute all test cases of a specific feature.
- Minor: It is used when there is minimal loss of functionalities which are not harmful, misbehavior of functionalities like improper popup message to the user and all.
- Cosmetic: Alignment issues, Spell mistakes, usability hurdles etc comes under this category.
- Enhancement: It is used when any modification in the existing product which is not covered in requirements, but the stated modification is essential for look and feel or business. These kinds of defects should be addressed in Requirements and in next phase of releases.
Priority on the other side tells us, the importance of the defect to be fixed from the business perspective. It defines the order in which we should resolve a defect with the help of priority status.
The priority status is a sort of flag which is determined based on the customer requirements and is being 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.
For example: If the company name is incorrectly spelled on the website home page, then the priority is high however severity would be low to fix it.
- Immediate (P1): This tells that defect or issue in software product must be fixed immediately. All critical and major severity based defects normally fall in this category.
- High: It is used when defect should be resolved as soon as possible in the normal course of development activity, before the software is released. Defects with major and normal severity fall in this category.
- Medium: Such defects should be repaired after all serious bugs have been fixed. Few normal severity defects fall in this category.
- Low: It is assigned to the defects which can be resolved in a future major system revision or not be resolved at all. Defects with minor severity fall in this category.
There are some scenarios where different combination of Severity and Priority can be clubbed & are being used in real-time project while considering defects.
- High Priority & High Severity: This is an error which occurs on the basic functionality of the application and will not allow the user to use the system. (Eg. A site maintaining the student details, on saving record if it doesn’t allow to save the record then this is high priority and high severity bug.)
- High Priority & Low Severity: Defects like spelling mistakes that happens on the cover page or heading or title of an application, is an example of this combination.
- High Severity & Low Priority: An error which occurs on the functionality of the application (for which there is no workaround) and will not allow the user to use the system but on click of link which is rarely used by the end user.
- Low Priority and Low Severity: Any cosmetic or spelling issues which is within a paragraph or in the report but not on cover page or title, falls in this combination.
I Hope, above article helped you understanding these two most confusing software testing terminologies. Please do comment and share your opinion/feedback.