- Replicate the bug (multiple times). Investigate: When does it happen? Describe the bug:
- When I do X
- Y happens
- But I expected (wanted) Z to happen
- Form a hypothesis or educated guess about WHY the bug is happening
- Read any errors, carefully — use debugging tools to fully understand what the error is telling you
- Use your past experience with similar bugs to come up with ideas
- Pick the most likely hypothesis
- If you have a reason, a gut feeling, or a favorite, use those to guide you