A bug is an unacceptable or unwanted behavior of a program or code given by any system. While testing software, tester applies different methodologies to find the bug in software or in application. If given input does not matches to expected output, tester reports bug to developer. Bug life cycle is same for manual and automation testing.
Bug life cycle starts when defect is found and ends when defect is closed or Bug life cycle is the cycle when bug found and ends when is fixed by developers. E.g. you have to test a functionality of a program. Now you have found a bug which is not matching to requirements of client so, tester mentions it a bug. Bug life cycle starts from here when expected output is not coming. Then tester reports this unacceptable result to developers for fixing. When bug is fixed, developer addresses to tester for re-testing the bug. Tester performs a retest on the functionality of software. If it shows correct behavior, bug is closed otherwise software tester follow same process again with proper test cases and provides more information about the bug to developer. When bug is occurred again, it will be reported as a new bug. Tester marks the bugs as Urgent/Priority as per the effect of bug on functionality of the system.
Bug life cycle can be summarized with different states as active, assigned/open, test, rejected, reopened, verified and close. One needs to make sure that all the bug life cycle is documented as per the project requirements.
Following diagram shows different states of Bug Life Cycle.
Active– When bug is found, the state of bug will be Active or when tester reports a bug to the developers.
Assigned– When the stockholder assigns the bug to corresponding developer for fixing.
Rejected– When tester verifies the bug validity and if the bug is invalid so it will be marked as rejected.
Differed- After getting assigned, if developer decides to fix the bug in development cycle, state will be differed.
Reopened- When the same bugs are raised again then the state is reopened.
Duplicate- If two or more bug indicates same form of the error then the state of the bug will be duplicate.
Verified– In this state tester will test the bug again after getting it fixed by developer. If the bug is fixed without throwing any error then the state of the bug will be verified.
Pending- If bug is not fixed due to some reason the state of the bug will be pending with mentioned reason.