Test offline behavior of your app systematically
Your office Wi-Fi is the best network your app will ever see. Real users switch to a weak connection mid-action. Apps that survive that feel trustworthy; the others get uninstalled.
Four network states to test
- Offline from the start: launch the app in airplane mode.
- Offline in the middle: turn the network off while a request runs.
- Slow: use a throttled connection so every call takes seconds.
- Flaky: a connection that drops and returns every few seconds.
You can simulate these with airplane mode, the Android emulator's network settings, Xcode's Network Link Conditioner, or a proxy that throttles traffic.
What to check in each
- A clear message instead of a blank screen or an endless spinner.
- No lost input. A half-filled form or a drafted message should survive.
- Retry works without restarting the app, and does not send a request twice when the user taps again.
- Cached data still shows when it makes sense, marked as possibly out of date.
- Timeouts are short enough to feel responsive and long enough for slow networks.
Watch for the sneaky cases
- A payment or order that succeeded on the server but looks failed on the phone.
- Background sync that retries forever and drains the battery.
- Login screens that cannot show an error because the error text comes from the server.
Questions developers ask
Does every app need an offline mode? No, but every app needs a graceful failure. Decide per feature what should work offline.
Who should test? Ask testers to try the app on a train or with Wi-Fi switched off. Real conditions find bugs a lab cannot.
Need testers for your app? Open a test group on AppReviewX. Start free