In Software Testing, there are two key things related to defects that are important for every software tester to know. These are
Depending on these two factors, it is decided whether to fix a particular bug immediately or let it be until the next release. In any case, it is extremely important for any aspiring software tester to know as much as possible about the concept of severity and priority.
What is Severity?
Severity in basic terms refers to damage that can be caused by a particular defect. In other words, severity is defined as the impact that a given bug can inflict on the software system. For instance, consider an application or a web page crashes when a remote link is clicked. Here, in this case clicking the remote link by a user is rare but the impact of application crashing is severe. Therefore, here we can say that the severity of the bug is high but the priority is low.
Given below are the different types of Severity
Critical – A critical defect is a strong defect that can result in termination of the complete system or one or more components of the system. It also causes corruption of extensive amounts of data. The functions that are failed due to this are unusable and there is no other possible alternative to achieve the required result. For cases like this, the severity of the defect detected is stated as Critical.
Major – A major defect, just like a Critical defect, may result in complete termination of the system or one or more components of the system. It may also cause corruption of extensive amounts of data. In this case, the functions that are failed due to this defect are unusable, but there exists an alternative way to achieve the results required. For cases like these, the defect severity will be stated as a Major.
Moderate – If a defect does not result in termination of the system, but causes the system to produce incorrect, incomplete or inconsistent results, then the severity of this defect will be stated as Moderate.
Minor – If the defect does not result in termination of the system and also does not damage the usability of the system, then the required results can be simply obtained by working around the defects. For defects like this, the severity is stated as Minor.
Cosmetic – If a defect is related to the visible enhancement of the system where the changes are more bend towards the design and layout of the application, then the severity of the defect is stated as Cosmetic.
What is Priority?
Priority basically defines the order of importance in which the defects needs to be resolved. Priority poses the main question of whether to fix the defect now or to wait for other defects to get fixed first.
This priority status is set by the tester to the developer along with a time frame to fix that defect. If the defect has high priority, then the developer has to fix that defect as early as possible and if the defect has low priority, then the developer has to fix the defects that have higher priority first.
Also, it is important to understand that this priority status is set based on the requirements of the customers. For instance, if the name of the company is misspelled on the home page of the website, then the priority of fixing it is high but the severity is completely low.
There are mainly three types of priority status, which are given below
Low – There exists a defect which needs to be repaired, but the repair can wait until after more serious defects with higher priority have been fixed. Defects such as these are generally stated as Low priority.
Medium – There exists a defect that should be resolved along with the normal course of development activities. However, the defect can wait until a new version of the system is created and released.
High – There exists a defect, which needs to be solved as early as possible as the defect is causing severe damage to the application. In this case, the system cannot be used until and unless the repairs are done. Defects such as these are normally stated as High priority defects.
Important points related to Severity and Priority
Given below are a few scenarios involving severity and priority. Each of these is important considering the interview and exam point of view.
High Priority & High Severity – An error which occurs on the basic functionality of the application and does not allow the user to use the system until the defect is fixed. For example, consider a website which maintains student details by saving the recorded data. However, if there comes an error that doesn’t allow the user to save student details is a high priority and high severity bug.
High Priority & Low Severity – The spelling mistakes or other minor errors that occur directly on the front page or heading or on the title of the application are classified as bugs with high priority and low severity.
High Severity & Low Priority – Errors that occur on the functionality of the application and which do not allow the user to use the system until the repair is done are classified as errors with high severity and low priority. Also, in this case there is no way of going around the defects and achieving the desired results.
Low Priority & Low Severity – Minor errors such as spelling mistakes or any other cosmetic issues which are well within a paragraph or in a section which can be covered easily are usually classified as errors with low priority and low severity.
Hi, great post!
BBST course teaches us that testers are not quality pushers, and because of that fact, we can only set severity, but not the priority. Product owner can only set the priority value, based on the severity value, but also taking into account a lot of other variables. For example, budget is one of them.