Can You Articulate the Bug?
When you encounter a bug, the very first thing you should do is articulate it clearly.
Not just 'when I click this button, the app crashes.'
Describe, in detail:
- what steps led up to the issue?
- Do you see any errors on the console? Including the server logs?
- If so, what do they say?
- What symptoms do you see in the application? Is it totally unresponsive? Does one feature fail while others are still functional?
- Does it happen every time, or intermittently? If intermittently, can you figure out what varies between executions so that you can reproduce it reliably?
As you start to form theories and test them, there's valuable information to be gotten when failure modes change. For instance, you might make a change that causes the app to fail with a different error message. If you didn't take note of the error message, you would think that your change had no effect.
Remember that debugging is not about fixing the code, it's about fixing your understanding of the application. The code fix follows from improved understanding. This detailed description is the first step to a comprehensive understanding of the problem.