We have seen the Software Development Life Cycle in one of our previous blogs. V-model, Iterative models are examples of how software can be developed.
The Software Test Life Cycle is a part of the Software Development Life Cycle. And the Test Life Cycle is used for System Testing and for User Acceptance Testing. The Test Life Cycle can be remembered as PDERC – Plan(Test Plan), Design (Analysis and Design of testcases), Execute, Report, Close, these are the 5 steps of the test process as defined by the ISTQB.
The Defect Life cycle is part of the Execute phase of this process, when testing begins and the Actual results do not match with the Expected Result. Defects are the most visible part of testing. They also go by the names – Faults, Bugs.
Defect Life cycle or Status:
Step 1: A defect starts its life when someone(tester, customer, BA, Developer etc) notices an anomaly in the application and raises a defect with a status ‘New’.
Step 2:The Development Team looks at the defect and changes it to any of the following statuses:
- Assigned
- Deferred
- Duplicate
- Invalid(Rejected)
If the development team think it is a valid defect, it will be moved to status ASSIGNED and allocated to a developer for fixing.
If it is a DUPLICATE (i.e., a similar defect has been raised before, the defect status is changed to Duplicate)
INVALID — If the defect is not valid, the status is changed to Invalid. Defects are marked as Invalid when there is insufficient information to fix the defect or the defect report is not well-written, so confusing.
DEFERRED — When the defect fix is too complicated or more details are needed to fix the defect, the defect status will be changed to Deferred.
Step 3:
If the Defect has been moved to ‘Assigned’, the Developer fixes the defects assigned to him and moves it to a FIXED or a QA status, to indicate it is ready for testing in the next Build.
Step 4:
The defect is verified by the tester to ensure it is fixed. If it is fixed, the tester will move the defect to CLOSED status. This is the end of cycle.
Step 5:
During testing, if the tester still encounters the defect, he will move it to a status called OPEN. And the life cycle starts once again!
Duplicates, Invalid defects will be re-looked at by the testing team and either CLOSED or moved to OPEN stage.
Summarizing, defects can move through any of the following cycles:
NEW –> Duplicate –> ClOSED
NEW–> Invalid –> CLOSED
NEW–> Deferred (Postponed)
NEW –> Assigned –> Fixed/QA –> CLOSED
NEW –> Assigned –> Fixed/QA –> Open –> Fixed –> CLOSED
NEW–> Invalid –> Open
The defect database provides many reports and at any point of time, a report of Defects in Open, Fixed, Assigned etc state can be generated.
Defect reports help track the Progress of the project – if there are many high severity, high priority defects, the product is not ready to ship. It can also be used to find out which modules have the highest number of defects and for root cause analysis.