Understand Severity And Priority Of A Defect In Software Testing

Hello Folks,

In this post, we will see an important concept of manual testing which is also a frequently asked interview question for both freshers and experienced. We will understand below points:

  • What do you understand by severity and priority of a defect?
  • Differentiate between severity and priority.
  • Types of severity and priority.
  • Who decides severity and priority?
  • Key factors in deciding severity and priority

Define severity and priority: 

A defect has many attributes and “Severity” and “Priority” are one of them. Normally tester always gets confused in deciding severity and priority of a defect. We can define severity and priority as below:

  1. Severity: It is a question which asks “How critical defect is?”.
  2. Priority: It is a question which asks “How soon it should be fixed?”.

I hope you can now differentiate between terms “Severity” and “Priority”.

Types of Severity and Priority:

If we talk at a very high level, Severity and Priority are only two types:

Severity:

  1. High Severity
  2. Low Severity

Priority:

  1. High Priority
  2. Low Priority

But it will be very difficult to decide proper severity and priority of a defect. You may find some defect which is neither at high severity nor low severity. That is the reason you will find many organization has further categorized types of severity and priority as below:

Severity:

  1. Blocker
  2. Critical
  3. High
  4. Moderate
  5. Minor

Priority:

  1. High
  2. Medium
  3. Low

Note: These types may vary organization by organization and project by project. You may find more or less categorization.

Who decides Severity and Priority of a defect?

This is most confusing thing. Ideally tester needs to provide only severity of a defect while priority of a defect should be decided by developers. But you will see in many organizations both attributes are given by testers. In mid-sized and small companies you can see that a developer, testers and product owner decides these attributes after discussion. These practices differ from organization to organization.

How to decide Severity and Priority of a bug?

There are many driving factors of deciding severity and priority of a defect. I can list some below:

  1. Which testing methodology is being used: Traditional SDLC models are not quick as Agile and DevOps mythologies. Severity and priority may differ in both because you have more time in traditional SDLC and product might not be in production.
  2. Testing Phase: Severity and priority of a defect found in early phase of testing will be different from later phase of testing.
  3. Environment: QA, Staging, Mainline or Production defects will have different strategies of deciding severity and priority of defect.
  4. Functionality and Modules
  5. Timeline, budge and resource availability.

 

All above points are totally based on my corporate experience as I have worked in MNCs to startups. Others might have different options. It will be good if you can share them in comment section.

If you have any doubt, feel free to comment below.
If you like my posts, please like, comment, share and subscribe.

#ThanksForReading
#HappyTesting

12 thoughts on “Understand Severity And Priority Of A Defect In Software Testing

  1. If a defect has high severity and low priority, and on the other hand if a defect has low severity and high priority. In both of these defects, which defect will be fixed first?

  2. Hi Amod,

    Unable to run Cucumber as Maven Test with the following code.
    How to resolve this?

    Feature File:

    Feature: Smoke Test for Google Page.

    Scenario: Landing to Google Page and entering the Desired value into the TextBox

    Given User opens Firefox Browser and Enters url
    When User enters desired value into TextBox
    Then Search Results page should be Displayed

    StepDefinition File:

    package StepDefinition;
    import java.util.concurrent.TimeUnit;
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import cucumber.api.java.en.Given;
    import cucumber.api.java.en.Then;
    import cucumber.api.java.en.When;
    public class TestStepDefinition
    {
    WebDriver driver;
    @Given(“^User opens Firefox Browser and Enters url$”)
    public void openBrowser()
    {
    System.setProperty(“webdriver.gecko.driver”, “/Users/ranjan.v/Desktop/Drivers and Jars/geckodriver”);
    driver=new FirefoxDriver();
    driver.manage().timeouts().implicitlyWait(4, TimeUnit.MINUTES);
    driver.manage().window().maximize();
    driver.get(“https://www.google.co.in/?gfe_rd=cr&dcr=0&ei=cQ3LWvOjK9GvX9OroLAM”);
    }

    @When(“^User enters desired value into TextBox$”)
    public void type()
    {
    driver.findElement(By.id(“lst-ib”)).sendKeys(“Selenium”);

    }

    @Then(“^Search Results page should be Displayed$”)
    public void searchResults() throws InterruptedException
    {
    Thread.sleep(5000);
    driver.findElement(By.xpath(“//div[contains(text(),’selenium’)]”)).click();
    String title=driver.getTitle();
    System.out.println(title);
    driver.quit();

    }
    }

    TestRunner.java

    package runner;
    import org.junit.runner.RunWith;
    import cucumber.api.CucumberOptions;
    import cucumber.api.junit.Cucumber;
    @RunWith(Cucumber.class)
    @CucumberOptions(features=”/Users/ranjan.v/eclipse-workspace/CucumberDemo/src/main/java/Features/test.feature”,glue={“StepDefinition”},plugin={“pretty”, “junit:target/cucumber-reports/Cucumber.xml” },monochrome=true)

    public class TestRunner
    {
    }

    POM.xml

    4.0.0
    com.cucumber.selenium
    CucumberDemo
    0.0.1-SNAPSHOT
    jar

    UTF-8

    maven-compiler-plugin
    3.7.0

    1.8
    1.8

    org.apache.maven.plugins
    maven-surefire-plugin
    2.21.0

    /Users/ranjan.v/eclipse-workspace/CucumberDemo/src/main/java/runner/TestRunner.java

    info.cukes
    cucumber-junit
    1.2.2

    info.cukes
    cucumber-java
    1.2.2

    org.seleniumhq.selenium
    selenium-java
    3.11.0

    junit
    junit
    4.12

      1. Hi Amod,

        I am not facing any exception.But I am not able to execute cucumber as Maven Test after making the changes in pom,xml file.

      2. I am not able to execute Cucumber as Maven test after modifying the changes in pom.xml file.How to resolve this?

          1. Hi Amod,

            Finally Issue got resolved and now I am able to run Cucumber as Maven Test.

Leave a Reply to RANJAN V Cancel reply

Your email address will not be published. Required fields are marked *