Bug can be defined as the abnormal behavior of the software. No software exists without a bug. The elimination of bugs from the software depends upon the efficiency of testing done on the software.  In software development process, the bug has a life cycle. The bug should go through the life cycle to be closed.

The Life Cycle varies from organization to organization and is governed by the software testing process the organization or project follows and/or the Defect tracking tool is being used. Bug life cycle begins when a programmer, software developer or architect makes unintentional software defect i.e. bug and ends when the bug is fixed and no longer in existence.

There are different stages of bug that can be summarized as:

  1. New: When a bug is found and not yet approved then it comes under the category of “New”.
  2. Open: After a bug is detected by tester it is passed to lead tester. He approves that bug is genuine or not and changes its status to “Open”.
  3. Assign: Once a bug is in Open category then it is allotted to corresponding developer. This is the time when status of bug is changed to “Assign”.
  4. Test: When developer fixes the bug and allotted the software to tester for further approval and verification. He changes the status of the bug to “Test”.
  5. Deferred: This is state when bug is expected to resolve in next release but not fixed yet. The reasons may be low priority or lack of time to release. This status is known as “Deferred”.
  6. Rejected: If developer itself found that bug is not genuine then he assigns bug to the category of “Rejected”.
  7. Duplicate: If it is found that bug is repeated with name or concept then one of them is assigned to the status of “Duplicate”.
  8. Verified: Once the bug is fixed then it comes under “Test” status and allotted to software tester. If software tester approves that it is fixed now then it comes under status of “Verified”.
  9. Re-opened: If the bug still exists after developer submitted it to fixed then software tester assigns this type of bug to the category “Re-opened”. Now, bug will pass again through the entire life cycle.
  10. Closed: When the bug is fixed, it is transferred to software tester for approval. If software tester finds that bug no longer exists then he submits it to “Closed”.