Unit – IV: Defect Management
4.1 Defect Classification
Definition
Defect Classification is the process of categorizing software defects based on their severity,
priority, type, and impact on the software system.
Explanation
During software testing, many defects or bugs may be identified. To manage them effectively,
defects are classified into different categories. This classification helps the development team
understand the importance and urgency of fixing each defect.
Defect classification helps in:
1. Prioritizing bug fixes
2. Improving defect tracking
3. Managing testing activities efficiently
4. Understanding defect patterns
Defects are commonly classified based on severity and priority.
Severity of Defects
Severity refers to the impact of the defect on the system functionality.
Levels of severity include:
Critical – The system crashes or major functionality fails.
Major– Important functionality does not work correctly.
Minor – Small issues that do not affect major functionality.
Cosmetic – Issues related to appearance such as UI alignment.
Real-Time Example
If a banking system crashes during money transfer, it is a critical defect.
Priority of Defects
Priority refers to the urgency with which a defect should be fixed.
Priority levels include:
High Priority – Must be fixed immediately.
Medium Priority – Should be fixed in the next release.
Low Priority – Can be fixed later.
Real-Time Example
If the login function fails, it is a high-priority defect because users cannot access the system.
Defect Management Process
Definition
Defect Management Process is a systematic procedure used to identify, report, track, fix, and
verify software defects during the testing process.
Explanation
The defect management process ensures that all defects discovered during testing are properly
documented, tracked, and resolved.
It helps maintain software quality and project transparency.
The defect management process typically includes the following steps:
1. Defect Identification
During test execution, testers identify defects when the actual result differs from the expected
result.
Example
A tester finds that the login system accepts incorrect passwords.
2. Defect Reporting
Once a defect is found, it is reported in a defect report containing details such as:
1. Defect ID
2. Description of the defect
3. Steps to reproduce the defect
4. Severity and priority
5. Screenshots or logs
Example
The tester reports the login issue in a bug tracking tool.
3. Defect Assignment
Explanation
The defect is assigned to a developer or development team responsible for fixing the issue.
4. Defect Fixing
Explanation
Developers analyze the defect, identify the root cause, and fix the problem in the code.
5. Defect Verification
Explanation
After the defect is fixed, testers verify the fix by executing the related test cases again.
6. Defect Closure
Explanation
If the defect is resolved successfully, the tester marks it as closed in the defect tracking
system.
Real-Time Example
In an online shopping system:
1. The tester finds that the payment module fails after entering card details.
2. The defect is reported in a bug tracking tool.
3. The defect is assigned to a developer.
4. The developer fixes the issue in the payment processing code.
5. The tester verifies the fix.
6. The defect is closed.
Advantages of Defect Management
1. Helps track and control software defects
2. Improves software quality
3. Ensures transparency in development and testing
4. Helps prioritize defect fixing
5. Reduces software failures after release
4.2 Defect Life Cycle
Definition
Defect Life Cycle is the process through which a defect goes from the moment it is identified
until it is fixed, verified, and finally closed.
Explanation
When a defect or bug is discovered during software testing, it passes through several stages
before it is resolved. This sequence of stages is known as the Defect Life Cycle or Bug Life
Cycle.
The defect life cycle helps track the status of defects and ensures that all reported defects are
properly handled and resolved.
The stages of the defect life cycle include:
1. New
When a tester identifies a defect during testing, it is reported in the defect tracking system and
its status is marked as New.
Example
A tester discovers that the login page accepts incorrect passwords and reports it as a new
defect.
2. Assigned
The project manager or test lead assigns the defect to a developer who is responsible for fixing
the issue.
The login defect is assigned to the developer responsible for the authentication module.
3. Open
The developer analyzes the defect and begins working on fixing the problem.
Example
The developer checks the login validation code to identify the cause of the issue.
4. Fixed
After identifying the root cause, the developer corrects the code and marks the defect as
Fixed.
Example
The developer updates the login validation logic and commits the corrected code.
5. Retest
The tester re-tests the functionality to verify whether the defect has been fixed correctly.
Example
The tester checks whether the system now rejects incorrect passwords.
6. Closed
If the defect is successfully fixed and verified, the tester marks it as Closed.
Example
The login system works correctly, so the defect is closed.
7. Reopened
If the defect still exists after fixing, the tester reopens the defect and sends it back to the
developer.
Example
If the login system still allows incorrect passwords, the defect is reopened.
Defect Life Cycle Flow
New → Assigned → Open → Fixed → Retest → Closed
If the defect is not fixed properly:
Retest → Reopened → Assigned → Fixed
Real-Time Example
In an online banking system:
1. Tester finds that money transfer fails after entering OTP.
2. The defect is reported as New.
3. It is Assigned to a developer.
4. The developer fixes the issue.
5. The tester performs retesting..
6. If the issue is resolved, the defect is Closed.
Defect Template
Definition
A Defect Template is a standardized format used to record and report defects discovered during
software testing.
Explanation
A defect template helps testers provide complete and clear information about a defect,
making it easier for developers to understand and fix the problem.
It ensures that all defect reports follow a consistent structure.
A typical defect template includes the following fields:
Defect ID = Unique identification number for the defect
Defect Title = Short description of the defect
Description = Detailed explanation of the defect
Steps to Reproduce = Steps required to reproduce the defect
Severity = Impact of the defect on the system
Priority = Urgency of fixing the defect
Status = Current status of the defect
Assigned To = Developer responsible for fixing the defect
Test Environment = System environment where defect occurred
Attachments = Screenshots or logs
Real-Time Example
Example Defect Report:
Defect ID = BUG101
Defect Title = Login allows invalid password
Description = System allows login even when password is incorrect|
Steps = Enter wrong password and click login
Severity = High
Priority = High
Status = Open
Assigned To = Developer – Authentication Module
Advantages of Defect Templates
1. Provides clear defect information
2. Improves communication between testers and developers
3. Helps track and manage defects effectively
4. Standardizes defect reporting process
4.3 Estimate Expected Impact of a Defect, Techniques for Finding Defects, Reopening of
a Defect
Estimate Expected Impact of a Defect
Definition
Estimating the expected impact of a defect means evaluating how much a defect affects the
system functionality, performance, users, and business operations.
Explanation
When a defect is discovered, it is important to determine how serious the problem is and what
effect it will have on the system. This process is known as estimating the impact of a defect.
Impact estimation helps the testing team and developers decide:
1. Which defects should be fixed first
2. How urgent the defect is
3. Whether the defect can cause system failure
Factors used to estimate defect impact include:
Severity– How serious the defect is
Priority – How urgently the defect should be fixed
Affected modules – Number of modules affected
Number of users affected
Business impact
Real-Time Example
In an online banking system:
If the money transfer module fails, the impact is very high because users cannot transfer
funds.
If a button alignment issue appears on the interface, the impact is low.
Thus the first defect has high impact, while the second has low impact.
Techniques for Finding Defects
Techniques for finding defects are systematic methods used during software testing to identify
errors or bugs in the software system.
Explanation
Various testing techniques are used to detect defects at different stages of software
development. These techniques help testers identify issues early and improve software quality.
Some common techniques for finding defects include:
1. Code Review
Developers or team members review the program code to identify logical errors and coding
mistakes.
Example
A developer reviews the code of a payment module and identifies an incorrect condition in
the transaction logic.
2. Static Testing
In static testing, documents, code, and designs are examined without executing the software.
Example
Reviewing the Software Requirement Specification (SRS) to detect missing requirements.
3. Dynamic Testing
In dynamic testing, the software is executed with test inputs to observe system behavior.
Example
Running a login test case to check whether incorrect passwords are rejected.
4. Automated Testing
Automated tools are used to execute test cases and detect defects quickly.
Example
Using automation tools to test a web application for multiple user scenarios.
5. Exploratory Testing
Testers explore the application freely to identify unexpected defects.
Example
A tester randomly tests different features of a mobile application to find usability issues.
Reopening of a Defect
Reopening of a defect occurs when a previously fixed defect still exists or reappears during
retesting.
Explanation
After a developer fixes a defect, the tester performs retesting to verify whether the issue is
resolved.
If the problem still exists or occurs again, the tester marks the defect as Reopened and sends it
back to the developer for further correction.
Reasons for reopening a defect include:
1. The defect was not fixed properly
2. The fix caused another related problem
3. The issue appears again in a different scenario
Real-Time Example
In a shopping website:
1. A defect is reported because the payment page crashes during checkout.
2. The developer fixes the issue and marks the defect as Fixed.
3. During retesting, the tester notices that the page still crashes when using a different
payment method.
4. The tester marks the defect as Reopened.
Advantages of Reopening Defects
1. Ensures defects are properly fixed
2. Improves software reliability
3. Prevents defective features from reaching users
4. Helps maintain software quality