Friday, 7 August 2015

Defect Lifecycle

                Defect Lifecycle or Bug Lifecycle is defined as ‘Different states a bug/defect passes through, from the time the defect has been identified till it is closed. 

As mentioned, once a defect has been reported in a bug tracking tool, it passes through different stages and accordingly the defect status changes. These status names and number of status differs from tool to tool.
Following is a common list of status in a defect life cycle.

Fig 1: Defect Lifecycle
 

New:

                When a defect is reported by tester in a bug tracking tool, the defect will be in ‘NEW’ state. It indicates a new bug has been reported and not yet assigned to a responsible developer.

Assigned:

                Once the new defect has been reported, the Project Lead or manager looks into the defect details and assign it to a responsible developer to get it fixed. The bug will be in ‘ASSIGNED’ state after it is assigned to a developer.

Open:

                The developer acknowledges the defect by moving to the next state ‘OPEN’. In this state the developer analyses the defect and take necessary actions. If it is a valid issue, he provides estimates and start fixing the issue. If it is an invalid issue (Please refer to Rejected state for more details), then he moves the defect to REJECTED State.

Ready to Test:

                Once the developer fixes the issue, he moves the defect state to ‘READY TO TEST’. Now the defect is ready to be tested by testers.

Verified:

                The testing team verifies the defect and if all the scenarios related to the defect are working fine, then they move it to ‘VERIFIED’ state.

Re-Open:

               When the tester test the defect and it the bug is still reproducible or any other related scenarios are broken, he Fails the defect and Re-Open the defect. After this it will be again assigned to the concerned developer to perform rework.

Rejected:

              The defect can be moved to REJECTED state for following 4 reasons.
·         Not A Bug: The defect raised by tester is not an issue and it is an expected behavior
·         Not Reproducible: The defect raised by tester is not reproducible in the latest software. It might have got fixed by some other changes.
·         Duplicate: The defect raised by tester is duplicate of some other defect.
·         No Further Action: The defect raised by tester will not be fixed in this release. This may be due to different factors like priority, time constraint, major architecture changes etc.

Closed:

             This is the final state of the bug where the testing team retest all the changes in the latest software and mark it as ‘CLOSED’.
 

 

Tuesday, 4 August 2015

10 Points to note before raising a defect


As soon as you encounter a defect/bug, please do the following to ensure whether it is a valid bug and then report it.
    1. Note down the exact steps and try to replicate using the steps
    2. If it is not reproducible, try to find the exact steps and repeat above step.
    3. Try to replicate using different inputs.
    4. Try to reproduce the issue in peer tester’s machine. In case if it is a machine specific issue, you can find out from this step and mention it in the bug report.
    5. Make sure the QA environment is not used by developers
    6. Try to clear cache/cookies and reproduce the issue.
    7. View the log files and try to analyze the logs. Sometimes, there may environment issues such as SP missing etc, which can be rectified by tester itself instead of raising defect.
    8. If you are not clear on the log, discuss with the developer and understand the issue.
    9. Check all possible scenarios where the defect might occur and club all the scenarios in the defect.
    10. Finally submit a defect if it is a valid defect and add all your analysis in your bug report.
 

Monday, 3 August 2015

Software Defect – Bug: What is a Defect/Bug?


A software bug/defect is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.

Testing is a continuous process in Software Development Life Cycle. During Testing, when the tester come across any error or deviation from the expected functionality, he reports is as a defect

Defect is also knows as Bug or Issue or Incident or Anomaly etc.

A Simple Defect is written as follows.
        
Fig 1: Sample Bug Report
     
There are various Bug Tracking tools and the defect reporting differs from tool to tool. But the above ones are the common fields used to report defects. Also, the bug status changes based on the bug tracking tool. Please refer by next blog on Defect Life Cycle to know more about this.