What is Defect Life Cycle?
Defect Life Cycle or Bug Life Cycle in software testing is the specific set of states that defect or bug goes through in its entire life. The purpose of Defect life cycle is to easily coordinate and communicate current status of defect which changes to various assignees and make the defect fixing process systematic and efficient.
Defect Status
Defect Status or Bug Status in defect life cycle is the present state from which the defect or a bug is currently undergoing. The goal of defect status is to precisely convey the current state or progress of a defect or bug in order to better track and understand the actual progress of the defect life cycle.
NEW: When the bug is found by the test and logged, its status will be NEW.
ASSIGN: Once the tester logs the bug, the lead validates the bug and assigns it to the development team. Then the status of the bug is set to ASSIGN
OPEN: When the bug is assigned to the development, while he is analyze the bug that time he will put the status to OPEN.
TEST/READY to RETEST: Once the developer fixes the bug, he changes the status to READY TO RETEST. This means developer has fix the issue and is ready for the test team to retest the defect.
VERIFIED: Once the tester retest the bug and is found to be fixed, he changes the bug status to VERIFIED.
REOPENED: While retesting if he find the bug still exists, then he changes the bug status to REOPENED.
CLOSED: Once the bug is fixed and the status is VERIFIED. Then lead changes the status to CLOSED.
REJECTED: When the bug is in OPEN status, and if developer feels the bug is not genuine or found to be DUPLICATE, he can reject the bug and the status of the bug is REJECTED.
DEFERRED: Sometimes the developers will accept the bug, but may be due to the priority, severity or due to time he may push the fix to other releases rather than the current release. Then the bug status will be DEFERRED.
Defect Life Cycle Explained
Explanation:
Tester finds a bug
Status assigned to new
A defect is forwarded to project manager for analyze
Project Manager decides whether a defect is valid
Here the defect is not valid- a status is given “Rejected.”
So, project manager assigns a status rejected. If the defect is not rejected then the next step is to check whether it is in scope or existing?. Next, the manager verifies whether a similar defect was raised earlier. If yes defect is assigned a status duplicate.
If a bug is not duplicate then its delayed means they put bug is in the queue.so the status changed as deferred.
Suppose we have another function- email functionality for the same application, and you find a problem with that. But it is not a part of the current release when such defects are assigned as a postponed or deferred status.
If bug is not deferred then the bug assigned to developer.developer start to fixing on the bug.
Once the code is fixed. A defect is assigned a status fixed
Next, the tester will re-test the code. In case, the Test Case passes the defect is closed. If the test cases fail again, the defect is re-opened and assigned to the developer.
Defect/Bug tracking tool
We have various types of bug tracking tools available in software testing that helps us to track the bug, which is related to the software or the application.
Jira:
Jira is one of the most important bug tracking tools. Jira is an open-source tool that is used for bug tracking, project management, and issue tracking in manual testing. Jira includes different features, like reporting, recording, and workflow. In Jira, we can track all kinds of bugs and issues, which are related to the software and generated by the test engineer.
Bugzilla:
Bugzilla is another important bug tracking tool, which is most widely used by many organizations to track the bugs. It is an open-source tool, which is used to help the customer, and the client to maintain the track of the bugs. It is also used as a test management tool because, in this, we can easily link other test case management tools such as ALM, quality Centre, etc.
Features of the Bugzilla tool:
A bug can be list in multiple formats
Email notification controlled by user preferences.
It has advanced searching capabilities
This tool ensures excellent security.
Time tracking
BugNet:
It is an open-source defect tracking and project issue management tool, which was written in ASP.NET and C# programming language and support the Microsoft SQL database. The objective of BugNet is to reduce the complicity of the code that makes the deployment easy.
Features of BugNet tool
It will provide excellent security with simple navigation and administration.
BugNet supports various projects and databases.
With the help of this tool, we can get the email notification.
This has the capability to manage the Project and milestone.
This tool has an online support community
Redmine:
It is an open-source tool which is used to track the issues and web-based project management tool. Redmine tool is written in Ruby programing language and also compatible with multiple databases like MySQL, Microsoft SQL, and SQLite.
Features of Redmine tool
Flexible role-based access control
Time tracking functionality
A flexible issue tracking system
Feeds and email notification
Multiple languages support (Albanian, Arabic, Dutch, English, Danish and so on)
MantisBT:
MantisBT stands for Mantis Bug Tracker. It is a web-based bug tracking system, and it is also an open-source tool. MantisBT is used to follow the software defects. It is executed in the PHP programing language.
Features of MantisBT
With the help of this tool, we have full-text search accessibility.
Audit trails of changes made to issues
It provides the revision control system integration
Revision control of text fields and notes
Notifications
Plug-ins
Graphing of relationships between issues.
Trac:
Another defect/ bug tracking tool is Trac, which is also an open-source web-based tool. It is written in the Python programming language. Trac supports various operating systems such as Windows, Mac, UNIX, Linux, and so on. Trac is helpful in tracking the issues for software development projects.
Backlog:
The backlog is widely used to manage the IT projects and track the bugs. It is mainly built for the development team for reporting the bugs with the complete details of the issues, comments, updates and change of status. It is a project management software.
Features of backlog tool are as follows:
Gantt and burn down charts
It supports Git and SVN repositories
It has the IP access control feature.
Support Native iOS and Android apps