Software bugs are an inevitable part of the development process. It is difficult to code the software on its first attempt, regardless of the experience of the developers. That’s why testers are so important. They find bugs in the software and fix them so that the application works properly.
- Before a product is released, bugs, errors, and anomalies must be recorded, found, and fixed to give users a good experience.
- The bug life cycle is the entire process of finding and resolving a defect or bug by following a series of steps
- It is important to understand the bug or defect life cycle to ensure you develop a robust software product.
Let’s get down with the learning without further ado.
What is Defect?
A defect is an error or a bug in the application that was created. For example, there may be a broken link or an error in the function. A developer or programmer can make mistakes or errors while making an application. If there are mistakes in the application, it means there are flaws in the application. These flaws are referred to as defects.
Different organizations use different names to describe this variation, such as bug, problem, incident, or issue.
During the testing process, if the expected result and the actual result deviate from the actual result, then the result will be a defect. These defects occur because of mistakes in logic or coding, which result in failure.
Note: When a tester discovers a bug or defect, it is required to convey the same to the developers. Thus, they report bugs with the detailed steps and are called Bug Reports, Issue Reports, Problem Reports, etc.
What is the Defect life cycle?
If a software tester finds that the expected results and actual results do not match, then it means there may be flaws in the application.
Check out the above graphical representation of the Defect Life cycle.
You can see points between states. Let’s discuss these points.
1. If the tester finds that the actual result and the expected result do not match, then a defect will occur. The defect has been assigned a new status.
2. The defect will be assigned to the development project manager, who will analyze the defect.
3. Whether it is a valid defect will be checked by him.
4. Consider that in the flight reservation application of the QTP tool, the only valid password is mercury. But you test the application for a random password, which causes a logon failure and reports it as a defect. Such defects are assigned a status REJECTED due to corrupted test data, missing configurations in the test environment or invalid expected results.
5. If not, the next step is to check whether the defect is within scope.
6. The QA Training portal (www.training.qaonlinetraining.com) is experiencing an issue with email functionality, but it is not part of the current release. Such defects are DEFERRED (postponed).
7. Next, the manager checks whether a similar defect was raised earlier (meaning this defect occurred earlier)
8. If a defect is marked as duplicate, it is given the status of duplicate.
9. If no, the defect is assigned to the developer who will fix it.
10. During this stage, a defect is assigned, and the developer is working on it. Once the defect is assigned, an IN PROGRESS status is assigned to it.
11. The developer is attempting to fix the issue.
12. When the code is fixed. The defect is assigned a fixed status.
13. During the next process, the tester will re-test the code.
14. The tester will determine whether the test is passed or not.
15. If the test case passes, then the closed status is assigned to the defect.
16. However, if the test cases fail again, the defect will be reopened and assigned to the developer.
17. Consider a situation where, during the first release of the QA training portal (www.training.qaonlinetraining.com), a defect occurred during the testing of email functionality that was fixed by the developer, and was assigned a status closed. During the second upgrade release, the same defect (the email one) came back up again. In these cases, a closed defect will be REOPENED.
That’s all to Defect Life Cycle.