Bug Life Cycle
In software development process, the bug has a life cycle. The bug should go through the life cycle to be closed. The bug attains different states in the life cycle. The life cycle of the bug can be shown as follows-
- New
- Open
- Assign
- Test
- Verified
- Deferred
- Reopened
- Duplicate
- Rejected
- Closed
When the bug is posted for the first time, its state will be 'New'. This means that the bug is not yet approved.
Open
After a tester has posted a bug, the lead of the tester approves that thhe bug is genuine and he changes the state as 'Open'.
Assign
Once the lead changes the state as 'Open', he assigns the bug to corresponding developer or developer team. The state of the bug is now changed to 'Assign'.
Test
Once the developer fixes the bug, he has to assign the bug to the testing team for next round of testing. Before he releases the software with bug fixed, he changes the state of bug to 'Test'.
Rejected
If the developer feels that the bug is not genuine, he rejects the bug, changing the status of the bug to 'Rejected'.
Deferred
The bug, changed to deferred means that the bug is expected to be fixed in next releases.
Duplicate
If the bug is repeated twice or the two bugs mention the same concept, then one bug is changed to 'Duplicate'.
Verified
Once the bug is fixed and the status is changed to 'Test', the tester tests the bug. If the bug is not present in the software, he approves that the bug is fixed and changes the status to 'Verified'.
Reopened
If the bug still exists even after the bug is fixed by the developer, the tester changes the status to 'Reopened'. The bug traverses the life cycle once again.
Closed
Once the bug is fixed, it is tested by the tester. If the tester feels that the bug no longer exists in the software, he changes the status of the bug to 'Closed'. This state means that the bug is fixed, tested and approved.
Priority Vs Severity
Priority
It describes the importance and order in which a bug should be fixed. It is used by developers to prioritize their work to be done.
Severity
Indicates the impact each defect has on testing efforts or users and administrators of the application under test. This information is used by developers and management as the basis for assigning priority of work on defects.
Priority is business whereas severity is technical.
Business Priority- How important is to the business that the bug should be fixed.
Technical Severity- How important is it to fix the bug from a technical perspective.