Every Software has errors in the beginning. Testers report them as bugs or defects to ensure quality. Each bug goes through a life cycle before getting a fix. This tutorial covers every single aspect of the bug life cycle in Software testing.
Whether you are a tester or developer, you must be aware of what a bug life cycle is and the different stages it has. But, firstly, you should know what is a bug and the role of a defect in Software testing. Thereafter, it will be easier to understand about the bug life cycle.
What is a bug/defect in Software testing?
A bug represents the state of a software when it behaves differently than expected. It may occur in the following scenario:
- The normal function of the Software is disrupted.
- Some functionality is missing.
- Performance checks are failing.
- Security checks are failing.
Role of a bug/defect in Software testing
The role of a bug in software testing is to make sure that the software should remain error-free. A software tester works to achieve this objective by discovering the errors. He or she ensures the software meets the customer’s requirements.
A good engineer can identify as many bugs as possible, but finding the bugs is only a starting point. A bug has to pass through several stages to reach a final solution.
It is the responsibility of the test engineer to place the bug in the correct state and track it further. He would do it efficiently if he was well-versed in the software bug life cycle. Alternatively, we call it the defect life cycle.
Here are 20 QA interview questions for software testers to help them identify key testing areas and growth pointers for their career.
Understand the bug/defect life cycle in detail
It is a cyclic process in which a defect goes through different states during its lifetime. It begins when a tester logs the bug and ends when he decides to close it after thorough verification. Hence, the software bug life cycle is related to the defect found during testing.
Every organization may have a customized implementation of the bug life cycle fitted to its testing requirements. So, the whole process should be well documented and clearly communicated to the testing teams.
Different states in a bug life cycle
The picture below shows the most common stages of a defect life cycle. However, a software bug or defect may tend to be in a lot more states.
- New – A latent defect the tester enters for the first time, it’s by default in the new state.
- Assigned – When the tester has logged the defect, the technical lead confirms the bug and assigns it to the corresponding developer in the development team. The defect then enters into the Assigned state.
- In Progress – The developer has started addressing the bug and is currently investigating the problem. At this point, there are two possibilities of either deferring or rejecting the issue.
- Resolved – The dev team has fixed the defect, and it is ready for testing.
- Verified – The QA team has tested the error with the latest build, and the tester has confirmed the defect as fixed.
- Closed – It is the terminal state of a bug in the life cycle. The tester can close it after retesting or if he finds it a duplicate or considers it as Not a defect.
- Reopened – If the bug persists even after a fix from the developer. The tester changes the status to “reopened”. And, the bug passes through the same life cycle once again.
- Deferred – When there is no scope to address a defect in a particular bug life cycle, then you can move it to the future release.
- Rejected – Any of the stakeholders may dismiss or discard a bug for any of the three reasons.
- Duplicate defect,
- Not a defect,
Duration of the defect life cycle
The entire life cycle of a bug can be long. Beginning with the detection of a defect to a verified fix the process may demand the involvement of testers, developers, and other stakeholders like team leads and project managers.
Hence, the duration of the software bug life cycle directly impacts the overall testing efforts so it should be well defined. In the absence of a clear definition or understanding, the product managers and the senior management might think of an unrealistic projection of the time and resources required to test the software.
In the absence of a clear definition or understanding, the product managers and the senior management might think of an unrealistic projection of the time and resources required to test the software.
Automation is like a Swiss army knife for the test engineers. Hence, before we proceed further please check out the top 10 automation testing interview questions.
The following two software are quite popular in the testing community:
- Bugzilla bug tracking system
- Jira for bug tracking, feature monitoring, and project handling
Both of these tools help to shorten downtime, improve productivity as well as communication, and raise customer satisfaction.
Both Jira and Bugzilla have their default version of the software bug life cycle with slight variations. These solutions always allow you to alter the stages as per the structure of your testing framework.
Please have a look at the below snapshots of the two most popular defect-tracking software. We’ve tried to simplify the stages leaving all the complexity aside so that you can easily remember the defect life cycle steps. Be sure to check out our other tutorial on product life cycle.
Footnote – Software Bug Life Cycle
In case, you are reading this post to know about the several stages of the bug life cycle and find this post useful then please do share it with your friends.
The software bug life cycle is an integral part of the software testing process and a very dear concept for the interviewers.
Hope you would have got the right answers to your questions.