Offline and poor-network testing
Running flows with no, slow or flapping connectivity.
Mandatory for 2 of 46 product types. Usually run by a QA engineer.
What it catches
- lost actions
- duplicate submissions
- stuck spinners
What it misses
- server-side bugs
Which product types need it and why
| Product type | Status | Reason or condition |
|---|---|---|
| fleet and logistics tracking | mandatory | Risks: User actions lost on bad networks or devices |
| smart home or IoT app | mandatory | Risks: User actions lost on bad networks or devices |
| clinical trial management software | recommended | Becomes mandatory when participants enter data on devices outside the site. |
| desktop application | recommended | Becomes mandatory when lost-actions evidence is attached for the app sync. |
| EV charging app | recommended | Becomes mandatory when chargers in the network sit where mobile coverage is missing. |
| expense management tool | recommended | Becomes mandatory when lost or duplicate receipts appear in support tickets. |
| grocery delivery app | recommended | Becomes mandatory when lost picks or duplicate substitutions are reported. |
| kids app | recommended | Becomes mandatory when progress loss appears in reviews. |
| language learning app | recommended | Becomes mandatory when learners report lost streaks after offline study. |
| loyalty program app | recommended | Becomes mandatory when rewards redeemed at the till without signal are lost or applied twice. |
| mental health app | recommended | Becomes mandatory when users report lost journal entries. |
| messaging app | recommended | Becomes mandatory when lost or duplicated messages on mobile networks show up in support tickets. |
| mobile banking app | recommended | Becomes mandatory when customers report duplicate or missing transfers after poor signal. |
| peer-to-peer payment app | recommended | Becomes mandatory when users report duplicate sends after poor signal. |
| ride-hailing app | recommended | Becomes mandatory when drivers who lose signal mid-trip cannot end trips or riders get duplicate receipts. |
| software as a medical device | recommended | Becomes mandatory when readings or alarms depend on a cloud service rather than the phone alone. |
| SDK or client library | recommended | Becomes mandatory when lost-actions evidence for queued SDK calls is attached. |
| social network | recommended | Becomes mandatory when duplicate or lost posts are reported by users. |
| telemedicine app | recommended | Becomes mandatory when evidence shows visits dropping on mobile networks and patients losing their place in the queue. |
| stock trading app | recommended | Becomes mandatory when duplicate orders after reconnect appear in support tickets. |
| video conferencing tool | recommended | Becomes mandatory when lost-actions evidence for dropped calls is attached. |
| wearable companion app | recommended | Becomes mandatory when the band can store more than a day of readings. |
| crypto exchange | optional | Optional: may reduce duplicate orders from mobile users on poor connections. |
| mobile game | optional | May help when matches are played on mobile networks that drop mid-session. |
| neobank | optional | Optional: may catch duplicate transfer submissions from poor mobile signal. |
| pharmacy delivery app | optional | May help: couriers confirm delivery in areas with weak signal, and a lost confirmation creates support calls. |
| accounting and invoicing SaaS | not needed | Not needed: bookkeeping happens online in the browser. Becomes recommended when an offline mobile mode is offered. |
| buy now pay later service | not needed | Not needed: checkout runs online inside the merchant page. Becomes recommended when in-store plans are offered through a mobile point of sale. |
| data pipeline | not needed | Not needed: network loss is covered by the resilience test. Becomes recommended when edge devices batch data for upload. |
| dating app | not needed | Not needed: chats and likes need a connection and failed sends show as failed. Becomes recommended when messages queue offline. |
| e-signature service | not needed | Not needed: signing requires a live session. Becomes recommended when offline in-person signing ships in the mobile apps. |
| ecommerce store | not needed | Not needed: shoppers browse and pay online, and payment is confirmed by the server. Becomes recommended when the app lets shoppers build carts offline. |
| electronic health record system | not needed | Not needed while the system runs on facility networks with a separate downtime view. Becomes recommended when a mobile or home-visit client stores charts on the device. |
| email marketing platform | not needed | Not needed: campaigns are built and sent from a browser while online. Becomes recommended when a mobile app lets users schedule sends offline. |
| ERP system | not needed | Not needed: users work online on the corporate network. Becomes recommended when warehouse scanners record stock moves offline. |
| government services portal | not needed | Not needed: the portal is web-only and saves drafts on the server. Becomes recommended when a mobile app with offline drafts ships. |
| identity and access management service | not needed | Not needed: sign-in requires a live connection by design. Becomes recommended when offline MFA codes ship. |
| insurance app | not needed | Not needed: quotes and claims are filed online. Becomes recommended when the app lets customers start a claim at an accident scene with poor coverage. |
| lending platform | not needed | Not needed: applications are submitted online in one session. Becomes recommended when field agents take applications on mobile devices with poor coverage. |
| LLM-based assistant | not needed | Not needed: the assistant cannot answer without a network, and no lost-message evidence is recorded. Becomes recommended when drafts or voice notes are queued offline. |
| online marketplace | not needed | Not needed: buying and listing need a live connection and the server confirms each step. Becomes recommended when sellers can draft listings offline. |
| machine learning model service | not needed | Not needed: the service runs in a data center. Becomes recommended when the model runs on edge devices. |
| patient portal | not needed | Not needed while every portal action is online and refused when offline. Becomes recommended when the mobile app queues messages for later sending. |
| subscription box service | not needed | Not needed: every subscription change is confirmed by the server while online. Becomes recommended when the app allows changes offline. |
| event ticketing platform | not needed | Not needed: buying requires a live seat hold, so there is no offline flow. Becomes recommended when the gate scanning app must work without signal. |
| travel booking app | not needed | Not needed: booking needs a live supplier price, so there is no offline purchase. Becomes recommended when the trip page or boarding passes must open without signal. |
Done conditions used on playbook pages
Each mandatory cell has its own done condition, written for that product type.
- fleet and logistics tracking (Infrastructure and developer products): Positions, duty-status changes and proof-of-delivery photos captured with no signal upload once and in order when coverage returns.
- smart home or IoT app (Infrastructure and developer products): With the internet link cut but home Wi-Fi up, lock, light and thermostat commands from the app still work and the app says it is in local mode.
Tools
Alphabetical. Not recommendations.
offline and poor-network testing
- Charles ProxyHTTP proxy for inspecting and throttling traffic. iosandroidwebcommercial
- mitmproxyInteractive HTTPS proxy. iosandroidwebapiopen-source
- Network Link ConditionerApple tool for simulating poor network conditions. iosopen-source
- ToxiproxyTCP proxy for simulating network failures. apiopen-source