Software Testing - Bug and Statuses Used During A Bug Life Cycle

Find out what a bug or error is called in software testing and what are the various statuses used
for the bug during a bug life cycle.

The main purpose behind any Software Development process is to provide the client (Final/End
User of the software product) with a complete solution (software product), which will help him in
managing his business/work in cost effective and efficient way. A software product developed is
considered successful if it satisfies all the requirements stated by the end user.
Any software development process is incomplete if the most important phase of Testing of the
developed product is excluded. Software testing is a process carried out in order to find out and
fix previously undetected bugs/errors in the software product. It helps in improving the quality of the software product and make it secure for client to use.

What is a bug/error?
A bug or error in software product is any exception that can hinder the functionality of either the
whole software or part of it.

How do I find out a BUG/ERROR?
Basically, test cases/scripts are run in order to find out any unexpected behavior of the software
product under test. If any such unexpected behavior or exception occurs, it is called as a bug.

What is a Test Case?
A test case is a noted/documented set of steps/activities that are carried out or executed on the
software in order to confirm its functionality/behavior to certain set of inputs.

What do I do if I find a bug/error?
In normal terms, if a bug or error is detected in a system, it needs to be communicated to the
developer in order to get it fixed.
Right from the first time any bug is detected till the point when the bug is fixed and closed, it is
assigned various statuses which are New, Open, Postpone, Pending Retest, Retest, Pending
Reject, Reject, Deferred, and Closed.

(Please note that there are various ways to communicate the bug to the developer and track the
bug status)
Statuses associated with a bug:

When a bug is found/revealed for the first time, the software tester communicates it to his/her
team leader (Test Leader) in order to confirm if that is a valid bug. After getting confirmation from the Test Lead, the software tester logs the bug and the status of ‘New’ is assigned to the bug.

After the bug is reported as ‘New’, it comes to the Development Team. The development team
verifies if the bug is valid. If the bug is valid, development leader assigns it to a developer to fix it
and a status of ‘Assigned’ is assigned to it.

Once the developer starts working on the bug, he/she changes the status of the bug to ‘Open’ to
indicate that he/she is working on it to find a solution.

Once the developer makes necessary changes in the code and verifies the code, he/she marks
the bug as ‘Fixed’ and passes it over to the Development Lead in order to pass it to the Testing

Pending Retest:
After the bug is fixed, it is passed back to the testing team to get retested and the status of
‘Pending Retest’ is assigned to it.

The testing team leader changes the status of the bug, which is previously marked with ‘Pending
Retest’ to ‘Retest’ and assigns it to a tester for retesting.

After the bug is assigned a status of ‘Retest’, it is again tested. If the problem is solved, the tester
closes it and marks it with ‘Closed’ status.

If after retesting the software for the bug opened, if the system behaves in the same way or same bug arises once again, then the tester reopens the bug and again sends it back to the developer marking its status as ‘Reopen’.

Pending Rejected:
If the developers think that a particular behavior of the system, which the tester reports as a bug has to be same and the bug is invalid, in that case, the bug is rejected and marked as ‘Pending Reject’.

If the Testing Leader finds that the system is working according to the specifications or the bug is invalid as per the explanation from the development, he/she rejects the bug and marks its status as ‘Rejected’.

Sometimes, testing of a particular bug has to be postponed for an indefinite period. This situation
may occur because of many reasons, such as unavailability of Test data, unavailability of
particular functionality etc. That time, the bug is marked with ‘Postponed’ status.

In some cases a particular bug stands no importance and is needed to be/can be avoided, that
time it is marked with ‘Deferred’ status.

No comments:


My Blog List