Any error, fault, gap in requirements or the unexpected output of the software application under test is called as Bug or Defect. Bugs can be found out at any stage during SDLC (Software development Life Cycle), it could be at the designing phase, requirements gathering, development phase, testing phase, user acceptance testing phase or by the end user while using the application.
Most of the bugs are logged during testing phase before the application goes live. Any bug which is missed during testing can cause huge loss to the business depending on the seriousness of the bug. Bug does have its own lifecycle from it is logged till the point it is closed. Here are the diagrammatic representation of Bug Life Cycle:
BUG Life cycle – Explanation:
During testing phase when a bug is given by tester then that bug is logged into bug reporting tool such as Sifter, JIRA, Bugzilla, etc. When a bug is logged into tool it has a default status as ‘NEW’.
Bug is assigned to the developer who is responsible for the bug, then developer will check the bug and decide whether the bug is valid or invalid. If developer found that bug is invalid then developer will comment on the bug with a proper explanation. Tester will either reopen it or close it based on the explanation given by the developer.
If bug is accepted by the developer then status of that bug is ASSIGNED and then developers fixes the bug and assigns it back to the tester to verify whether the bug is fixed as expected or not. Here the status of BUG is RESOLVED.
Further when a bug which is fixed, tester can now change its status to either VERIFIED or REOPENED, depending on whether the bug is fixed or not.
When the bug is fixed successfully and application is behaving properly, the status of that bug is changed to CLOSED. Sometimes, it may require additional level of review to close the bug, it could be the project management team or end user.
If the bug fix didn’t work as expected, then the tester changes the status from RESOLVED to REOPENED with the explanation for why it is still a bug.
After the bug is REOPENED, status is again changed to ASSIGNED and developer will fix the bug according to the requirements and again send it to the tester to verify the solved Bug.
Again if the bug fix worked as expected then tester will change its status to VERIFIED and CLOSED. If it still has some issues then cycle goes on till the bug is not RESOLVED or CLOSED.
If bug reported by tester or end user is unclear to any of the project team member then they may ask for more information about the bug at any state of the bug life cycle.
BUG Life cycle – Participants:
BUG Reporter (Tester): Bug reporter(Tester) validates the bug and enters the details of the bug into bug reporting tools. It’s his responsibility to set the correct subject, application component, bug description, bug priority and bug assignee. If needed, Bug reporter can attach required screenshots, video or any data file to clarify the bug details.
BUG Tracking tool: Bug reporting tool like Sifter, JIRA, Bugzilla, etc. track the cycle of BUG with its responsible bug group and bug details. This helps in preparing bug reports as well.
BUG Group: Bug Group is the people who can see the bug details. Always main participants are tester or end user who reported the bug, developer who is responsible for bug and the bug is assigned to him , project manager and QA manager. Other member can be added into BUG group as per the requirement.
BUG Owner(Developer): This is the person who is responsible for bug and owns the bugs. A bug owner checks if the bug description is proper and it is reproducible or not based on the given information, if not he may assign it back to the reporter(tester) asking for more information. Based on the priority of a bug, bug owner get the bug fixed and deliver the fix within the deadline of the project.