Defect vs Bug vs Error vs Failure — Defect Bug Management

Here is complete guide on Defect Bug Management:

Defect

A deviation between the actual result and the expected result.

Bug

The informal name for a defect. When any defect is found by the testing team, we call it a bug.

Advertisement

Error

Any mistake in programming; a mistake made by developers.

Issue

A problem faced by customers.

Failure

When end users face many issues. It stems from the customer/client environment, where the application is unable to perform its functions.

Miss

One or more customer requirements were overlooked during implementation.

Wrong

Indicates an incorrect implementation of customer requirements.

Fault

An incorrect step, process, or data definition in a software product.

Showstopper Defect

A defect that highly impacts the business, due to which we cannot proceed with further testing.

Defect Age

The time gap between the date of detection and the date of closure of a defect.


Defect Report Contents

A defect report typically includes:

  • Defect ID — a unique number to identify the defect.
  • Defect Title — the defect name.
  • Defect Description / Summary (Steps to Reproduce) — a brief description of the defect.
  • Defect Status — Deferred / Rejected / Duplicate / New / Assigned / In Progress / Fixed / Closed.
  • Expected Result
  • Actual Result
  • Attachment / Screenshot
  • Environment
  • Severity
  • Priority
  • Reported On
  • Reported By
  • Assigned To

Severity vs Priority

Priority

  • Concerned with the application from the business point of view.
  • How quickly we need to fix the bug / how soon the bug should get fixed.

Severity

  • Concerned with the functionality of the application.
  • How much the bug affects the application's functionality.

In short:

  • Severity = How the bug impacts the application (Blocker/Showstopper, Critical, Major, Minor).
  • Priority = Which bug needs to be fixed first (Urgent, High, Medium, Low).

Priority always impacts the customer's business.


Severity Types and Priority Types

Severity Types

Blocker

We cannot proceed to the next module, and the test engineer sits idle.

Critical

The main functionality is not working, and the test engineer cannot continue testing.

Major

The supporting components and modules are not working fine, but the test engineer can continue testing.

Minor

UI problems exist, but testing can proceed without interruption.

Priority Types

Priority determines which bug is fixed first and how soon.

It can be:

  • Urgent
  • High
  • Medium
  • Low

High

A major impact on the customer's application. It has to be fixed first.

Medium

Should be fixed before the release of the current version in development.

Low

Should be fixed if time allows, but can be deferred to the next release.


Severity–Priority Examples

High Severity and Low Priority

The tester clicks the "Privacy Notice" hyperlink at the bottom of the Amazon.com homepage, but the page does not display.

This is high severity because the functionality isn't working, but low priority because people don't typically read the privacy notice.

Example: One rarely used flow of a task is not working.


High Severity and High Priority

You log in to Amazon.com, add items to your cart, click "Proceed to Checkout," complete payment, and the system crashes.

This renders the entire buying functionality unusable, so the severity is high.

Because buying and selling are the site's core purpose and affect most customers, this is a high priority and must be fixed immediately.

Other examples:

  • Products added to the cart aren't visible on the payment page.
  • The login button isn't working.

Low Severity and High Priority

The Amazon.com logo is displayed as "amazn.com" with the letter "o" missing.

This doesn't affect functionality, so the severity is low.

However, a mistake in the company logo affects brand identity and user experience, so the priority is high.

Other examples:

  • If the Flipkart logo is misspelled, it directly impacts the business. People think it isn't genuine and won't buy, so business impact is huge and priority is very high, but for developers the fix is easy and breaks no workflow, so severity is very low.
  • The "About Us" page is giving an error message. It blocks no business flow, so low severity, but every business needs an About Us page, so high priority.

Low Severity and Low Priority

The tester clicks the "Conditions of Use" hyperlink at the bottom of the Amazon.com homepage and finds an alignment issue or spelling mistake.

Low priority because people rarely read this page and it doesn't impact the experience.

Low severity because functionality is not affected.

Other examples:

  • A spelling mistake on a rarely visited page.
  • Text color not matching the website theme.

Who Decides Severity and Priority?

  • Severity is decided by the tester.
  • Priority is decided by the developer.

The Defect Life Cycle

New

When a tester finds a defect, the status is set to New.

Assigned

The defect is assigned to the development team by the project lead or the testing team manager.

Open

The developer starts analyzing the defect and works on fixing it.

If the developer feels the defect is not appropriate, it may be moved to:

  • Duplicate
  • Deferred
  • Rejected
  • Not a Bug

based on a specific reason.

Fixed

When the developer finishes fixing the defect by making the required changes, the status is marked Fixed.

Retest

The tester retests to verify whether the defect is fixed accurately per the requirements.

Reopen

If the issue still occurs, it is reassigned to the developer, and the status becomes Reopen.

Closed

When the defect no longer exists, the tester marks it Closed.

Other Statuses

Rejected

The developer does not consider it a genuine defect.

Duplicate

The defect is the same as, or matches the concept of, another defect.

Deferred

The defect is low priority and can be fixed in a later release.

Not a Bug

The defect does not affect the application's functionality.


Steps to Follow Once a Defect Is Found

  • Recreate the defect.
  • Attach the screenshot.
  • Log the defect.

How to Report a Bug

When reporting a bug, fill in all mandatory fields:

  • Project
  • Summary
  • Description
  • Status
  • Detected By
  • Assigned To
  • Date Detected
  • Detected-in Version
  • Closed-in Version
  • Expected Date of Closure
  • Actual Date of Closure
  • Severity
  • Priority
  • Bug ID

After reporting, the bug reporting tool generates a unique Bug ID, which is then associated with the failed test case.

This helps link the bug to the failed test case.

After a bug is reported, it is assigned the status "New," which keeps changing as the bug-fixing process progresses.

If no bug reporting tool is used, we write it in a table with four columns:

  • Test Step Number
  • Test Case Description
  • Expected Result
  • Actual Result

This file, along with the test case and screenshots, is sent to developers for reference.

As the tracking process is not automated in that case, it is important to keep the bug information up to date from the time it is raised until it is closed.


Defect Triage

Defect triage is the process of prioritizing each bug based on its severity, frequency, risk, and other factors.

The goal is to evaluate, prioritize, and assign the resolution of defects.

During triage:

  • A bug is reviewed.
  • A priority is assigned.
  • According to the priority, it is either assigned to a developer for fixing or deferred to the next release.
  • High-priority bugs are fixed urgently.
  • Low-priority bugs are deferred.

What Happens During a Defect Triage Meeting?

  • The test team leader sends out a bug report with the new defects.
  • Each defect is analyzed to ensure the correct priority and severity are assigned. Priorities are rearranged as needed.
  • Defects are evaluated by the degree of their severity.
  • Discussion covers the complexity of the defect, risks, error rejection, and error reassignment.

Bug Leakage, Bug Release, Latent Defect & Deferred

Bug Leakage

When a customer or end user discovers a bug that could not be detected by the testing team, or when a bug that should have been detected in a previous build is found later.

Bug Release

When a build is handed to the testing team, knowing that a defect is present in the release.

The priority and severity of the bug are low.

It is done when the customer wants the application on time.

Latent Defect

A defect not identified during the testing phase and later identified (after release) by the customer.

It is an existing defect that doesn't cause a failure because the exact set of conditions has never been met.

Deferred

If the release date is near and there is no time to fix the defect, it is not fixed in the current release and is scheduled for a future/next release.

Such a defect is mentioned in the Release Note for the customer's understanding.


Defect Principles: Clustering, Cascading, Density, Velocity, Masking

Defect Clustering

One of the seven principles of software testing.

Most defects are caused by a small number of modules.

Defects are not uniformly distributed across the application but are concentrated in limited sections.

When a small number of modules contain most of the detected bugs, that situation is called Defect Clustering.

Defect Cascading

When one defect produces another defect.

Defect Density

A measure of the number of defects identified relative to the number of lines of code.

Defect Velocity

How much work is done by the team in one sprint.

Fault/Defect Masking

When the presence of one defect hides another.

Example:

If a negative value causes an unhandled system exception, the developer prevents negative-value input.

This resolves the issue but hides (masks) the unhandled-exception defect.


Types of Defects

Performance Defect

When a page loads, but some element takes more time to load.

For example, if the search button does not appear properly or appears late, we call it a performance defect.

UI Defect (User Interface Defect)

  • Font problems
  • Oversized options
  • Improper alignment
  • Blurred display

These come under UI defects.

UX Defect (User Experience Defect)

When, according to users, they are unable to find the logo/icon in the application.

They are unable to focus on a particular option.

API Defect

When the search button does not work, it is considered an API defect.


FAQs

1. What is the difference between a defect, a bug, and an error?

A defect is a deviation between actual and expected results.

A bug is the informal name for a defect found by the testing team.

An error is a mistake in programming made by a developer.


2. What is the difference between severity and priority?

Severity is how much the bug affects the application's functionality (as determined by the tester).

Priority is about how soon the bug should be fixed from a business perspective (as determined by the developer).


3. Can a defect have high severity but low priority?

Yes.

For example, a rarely used page failing to load.

The functionality is broken (high severity), but users seldom visit it (low priority).


4. What are the stages of the defect life cycle?

  • New
  • Assigned
  • Open
  • Fixed
  • Retest
  • Reopen (if needed)
  • Closed

Other statuses include:

  • Rejected
  • Duplicate
  • Deferred
  • Not a Bug

5. What is defect triage?

A process where each bug is reviewed and prioritized by severity, frequency, and risk, then assigned to a developer or deferred to a later release.


6. What is the difference between bug leakage and bug release?

Bug Leakage: A bug escapes the testing team and is found by the customer.

Bug Release: A build is knowingly released with a low-severity, low-priority defect, usually to meet a deadline.


7. What is a latent defect?

An existing defect that stays hidden because the exact conditions to trigger it have never been met.

It is typically found after release.


8. What is defect density?

A measure of the number of defects identified relative to the number of lines of code.


9. What is fault masking?

When one defect hides another in the system.


10. What should you do the moment you find a defect?

  • Recreate the defect.
  • Attach a screenshot.
  • Log it.