Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority
Defect Life Cycle or Bug Life Cycle in Software Testing
Defect Life Cycle or Bug life cycle may vary from company to company depending on factors like policy, software developmental model (e.g., Agile, Waterfall, etc.), and project timeline.
Defects or bugs are inevitable in software development, and identifying, tracking, and managing them is crucial to ensure a high-quality software product. The process of identifying, tracking, and managing defects is known as Defect Life Cycle (DLC).
What is Defect/Bug?
- A bug is an error or defect in software or hardware that causes a program to malfunction.This is one of the common and useful term in Software Testing Terminologies.
- The variation between the actual results and expected results is known as defect.
![Defect Life Cycle or Bug life cycle](https://tutorialshut.com/wp-content/uploads/2020/10/DefectLifeCycle-768x583.png)
Defect Life Cycle in software testing is a series of stages that a defect goes through during its lifetime. The Defect Life Cycle starts with the identification of a defect and ends when the defect is resolved and verified as fixed. Let’s discuss the various stages of Defect Life Cycle in detail.
Bug or defect life cycle includes following steps or status:
- Open/New: When a defect is logged and posted for the first time, its state is set as new /open
- Assigned: the defect is assigned to a person who is tasked with its analysis or resolution.
- Duplicate: If the defect is repeated twice or if the defect corresponds to the same concept as the bug, the status is changed to “duplicate.”
- Rejected: If the defect is invalid because of various other reasons like false positives it is dropped / rejected.
- Deferred: If the defect is not of a high priority and is expected to get fixed in the next release, then the defect is deferred.
- Not a Bug: This state is assigned to defects that were misclassified as defects and did not affect the functionality of the software.
- Fixed/Resolved: After the developers complete the necessary code changes, the defect’s state is set to “fixed”.
- Retest: At this stage, the testing team retests the code given to them by the developers.
- Reopened: If the bug still exists, its state is set back to Open and the lifecycle restarts.
- Verified: If the developers have successfully fixed the bug, the testing team sets its status to verified.
- Closed: Once the bug has been verified as fixed, the testing team closes the issue.
Defect Data
- Type of Testing
- Description of Defect
- Life Cycle Phase
- Severity
- Priority
- Type of Defect
- Owner
- Work product where Defect occurred
- Risk, loss, opportunity, and benefits associated with fixing or not fixing the defect
- The description of how the defect was resolved and recommendations for testing
- Problem Summary
- Steps to Reproduce
- Work product where Defect was introduced
- Subsystem or Component where the Defect is introduced
- Identification Method
- Project and Product in which problem exists
- The current State of Report
- Impact on Project
- Dates when various defect lifecycle phases occur
- References
Defect Report contains below fields data
- Defect ID
- Feature Name
- The severity of the defect
- Name of the Tester assigned to the defect
- Build Version in which the defect was found
- Description of the defect
- Test Case Name
- Status in which the defect is currently
- The priority of the defect
- Date of testing the defect
- Name of the Developer who has been assigned to remove the defect
- Environment Name
- Screenshots of the defect
- Defect creation date
Defect Life Cycle is a critical aspect of software testing, as it ensures that defects are tracked, analyzed, and resolved systematically. Effective management of the Defect Life Cycle can help software development teams identify and fix defects in a timely manner, resulting in a high-quality software product.
Recommended Articles:
Testing Foundation
What is Software Testing?
Objective of Testing
Why is testing necessary?
Common Terms used in Testing
Verification Vs Validations
QA Vs QC
Debugging Vs Testing
Seven Testing Principles
SDLC Vs STLC
Fundamentals of Test Process
Software quality Factors
Software Development Models
Waterfall Model
V models
Iterative Model
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Strategies for Integration Testing
Big Bang
Stubs and Driver
Top Down Testing
Bottom Up Testing
Test Types
Functional Testing
Non- Functional Testing
Structural Testing
Re-testing & Regression Testing
Static AND Dynamic Techniques
Static Technique
Dynamic Technique
Static Analysis by Tools
White Box Techniques
Statement Coverage Testing
Branch Coverage Testing
Decision Coverage Testing
Path Coverage
Black Box Techniques
Equivalence Partitioning
Boundary Value Analysis
Decision Table testing
State Transition testing
Experience Based TestingTechniques
Random Testing
Exploratory Testing
Error Guessing
Functional Testing
Integration Testing
Unit Testing
System Testing
Smoke testing
Sanity testing
Regression Testing
Usability Testing
Security Testing
User Acceptance Testing
White Box & Black Box Testing
Globalization & Localization Testing
Non Functional Testing
Compatibility testing
Endurance testing
Load testing
Performance testing
Recovery testing
Scalability testing
Stress testing
Volume testing
Test Planning and Estimation
Test Planning
Test Strategies Vs Test Plan
Test Approaches
Risk and Testing
Product Risks
Project Risks
Defect Management
Defect LifeCycle
Severity Vs Priority
Very useful Information.