Thursday 9 September 2010

Bug Fixing

Bug fixing is most often easy and straightforward if you follow this pattern.

Bug Template:

Every bug should be written using the following template

Title:
[text]

Description:
[text]

Steps to reproduce:
[numeric list of the steps to clarify how to reproduce the bug]

Actual:
[what is the actual behavior which happens]

Expected:
[what is the expected behavior]

Supporting info:
[text, attachments, images, stack trace, etc]

Bug Fixing Strategy

The general strategy for bug fixing is as following:
  1. Make sure the bug details is in your bug tracking tool (e.g. Jira, BugZilla, etc); if it's not add it using the bug template provided above
  2. Assign the bug to yourself or the person who will be in charge of the bug fixing
  3. Investigate and understand what the bug is - if it's not clear ask the person who raised the bug for further clarification and completing the template above
  4. Investigate and understand how to reproduce the error
  5. observe the bug is reproduced in code
  6. Investigate and understand why the bug exists
  7. Propose possible solutions
  8. Choose the best solution; if required consult
  9. Fix it and write unit test or integration test for it - in some cases you can write the test first which is a better practice if possible
  10. Retest and observe that the bug doesn't get reproduced
  11. Set the bug status in your bug tracking tool to "Fixed" and assign it to your testing manager
After the bug is logged:
  1. It should be reviewed and evaluated by a senior member.
  2. An action plan should be agreed (closed, active, backend, frontend) and tagged.
  3. The bug should be allocated to the relevant person or added to a pool to be picked.

No comments: