We used cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it. What For?

« Back to Blogs

Bug - Issue Life Cycle in Software Development

What is Software Testing?

Software testing is an activity to check whether the actual results match the expected results and to ensure that the software system is defect free.

Software testing also helps to identify errors, gaps or missing requirements in contrary to the actual requirements.

What is Bug Life Cycle?

Bug Life Cycle or Defect Life Cycle is the specific set of states that a Bug goes through before it can be closed or resolved. When a bug is detected – by a Tester or anyone else in the team – the life cycle provides a tangible way to track progress of the bug fix.

During the life of a bug, many individuals touch it – directly or indirectly. Resolving a bug isn’t necessarily the responsibility of one individual. At various stages of the life cycle, various project team members will be responsible for the bug.

This Blog will help you to understand the number of states that a Bug goes through varies from project to project. Below lifecycle diagram, covers all possible states

Bug Life Cycle:

Right from Bug Report to Bug Fixed, each phase is explained clearly. Let’s take a look at them in detail.


ToDO/New: When a new bug is identified in the system the one should create a proper documentation as well logged bug on bug tracking tool first time.It is assigned a status ToDo/New.

Remember, anyone can raise a defect – it doesn’t have to just be a tester.

On Hold: In some cases, Project Manager/Lead set the bug status as On Hold. If the bug found during end of release and the bug is minor or not important to fix immediately or If the bug is not related to current build and If it is expected to get fixed in the next release. On Hold status indicate that it will be assigned to developer at a more convenient future time.

Invalid: If PM/Lead feels the defect is not a genuine defect or system is working according to specifications and bug is just due to some misinterpretation they change the status to invalid and assigned to QA for close.

Assigned Developer: Defects which are in the status of New will be approved (if valid) and assigned to the development team by Test Lead/Project Manager. Once the defect is assigned then the status of the bug changes to “Assigned”

Duplicate: If the defect is inadvertently raised more than once or the defect corresponds the same concept of the bug, the second finding will be marked as Duplicate and assigned back to QA department to mark defect as closed.

Need More Information: If developer is unable to reproduce the bug as per the steps provided by a tester then the developer can change the status as Need more information. In this scenario the tester needs to add detailed reproducing steps and assign bug back to the development team for a fix.

Same will happen when a new functionality is introduced without QA knowledge or Any technical bug is reported by development and tester is unable to reproduce the bug as per the steps provided by developer then the tester can change the status as Need more information And assign bug back to the development team for detailed steps to test.

In Progress: Developer started code and once they have done with necessary changes,code assigned to mentor and status change to Ready for Code Review.

Ready For Code Review: In this status Development mentor review the code and mark status as code reviewed if found valid or may reject the code and assigned back to developer.

Code reviewed & Deployed on Test Server: Once bug status changed to code reviewed coordinator came in to picture and coordinate with PM/Lead to deploy the code on test server and change status to Ready for QA.

Ready For QA: Tester tests the behaviour of functionality and if it work as user expectation tester change defect status as Approved By QA and if the bug still persists even after the developer has fixed the bug, tester changes the status to "Rejected By QA".

Rejected by QA: In this scenario once again bug assigned to developer to started working and it goes through the same life cycle.

Approved By QA: Status work as bucket for all approved functionality.PM/Lead coordinate and take decision which are the priority bugs need to deploy on production environment and change those bug status to ready for deployment and rest wait in bucket for future deployment.

Ready For Deployment: Coordinator coordinate with PM/Lead and delopy all ready for deployment code on production environment within a given timeline.once the code deployed on production they change status to deployed/Retest.

Deployed/Retest on Production: The Tester re-tests the bug after it got deployed on production server and If there is no bug detected in the software then the bug status set to close/Resolved.

Reopened By QA: If the defect remains same after retest, then defect assigned status as Reopen by QA. Again the bug goes through the life cycle to be fixed. Coordinator will assign all reopened bugs to concern developer.

Resolve/Closed: Status shows all resolved and close defects.

contact-us Request a callback WhatsApp