A messenger shows "Failed to send" on a file — bug or not?
In a messenger app a user opens a chat, sends a file, and sees the message "Failed to send...". You must decide whether this is a defect to report.
Action: open chat -> attach file -> send
Observed: "Failed to send..."
Unknown: network state, file size/type, server status, session validity,
whether a reason is shown, whether retry is offered
Lay out the conditions under which this is not a bug versus when it is a bug. Diagnose the cause.
It is not a bug if the failure is correct handling of a real condition — no network, file too large or an unsupported type, server down, expired session — and the user is clearly told why and can retry. It is a bug if it fails under valid conditions, gives no reason, offers no retry, or the message is wrong or misleading. The test is expected-versus-actual plus graceful degradation.
- ✗Filing any error message as a bug without checking the condition
- ✗Ignoring whether a reason and a retry are offered
- ✗Skipping the expected-versus-actual judgment
- →What would turn a correct failure into a reportable bug?
- →Why is a clear reason plus retry the line between bug and not-bug here?
The trap is to file every visible error as a defect. Decide by the underlying condition and how the app communicates it.
NOT a bug -> real failure, clear reason, retry available:
no network / offline
file too large or unsupported type
server down / 5xx
expired session
IS a bug -> fails under valid conditions
no reason shown
no retry offered
wrong or misleading message
Method: reproduce while controlling each variable (toggle network, vary file size/type, check server status, refresh session). If every condition is valid and it still fails — or the message is wrong, absent, or offers no recovery — it is a bug. Graceful degradation (tell the user why, let them retry) is the dividing line.