Find the cause behind the symptom

An app that freezes at checkout may have a problem on that page, in the payment system, or with the internet connection. What you see does not always reveal the cause.

To debug it, a team tries to make the problem happen again, checks clues such as error messages, rules out possible causes, and tests a fix. A useful bug report says how to repeat the problem, what happened, and what was expected. The time it happened and a screenshot can help too.

An error can mean the mistake that caused a problem, or the message a program shows when something goes wrong. An error message is a clue, not always the root cause. For example, a failed payment may be caused by incorrect card details, a network interruption, or a problem in the app.

Not every surprise is a bug

Sometimes software works as planned but still frustrates users. That may call for a design change rather than a repair. Either way, the team needs to agree on what should happen, who is affected, and how soon to address it.