QA interview guide

How would you test mobile app offline mode?

Offline mode is a product promise that touches UX, local storage, sync APIs, auth, conflict resolution, and mobile lifecycle. A strong answer proves the app remains useful and safe when connectivity changes.

Write your own answer and compare it with senior QA coverage.

What interviewers expect

What interviewers expect

Interviewers expect offline detection, cached data, disabled actions, local changes, reconnect sync, retry, conflict resolution, data loss prevention, duplicate-submit prevention, poor network, and app restart coverage.

Checklist

Checklist

Use these practical prompts to build a complete answer. Strong interview responses usually include functional behavior, negative cases, security, backend/data risks, UX, accessibility, and reliability.

Offline detection and cached data

  • Offline detection, back-online detection, airplane mode, poor network, and backend-down states are clear.
  • Cached home, profile, list, detail, and previously viewed records are available according to requirements.
  • Stale data indicator, last-updated timestamp, refresh control, and offline empty state are visible.
  • Actions that cannot work offline are disabled or explained clearly.
  • Local search and filtering over cached records behave predictably.

Local changes and reconnect sync

  • Offline create, edit, delete, draft, and attachment actions are queued correctly.
  • Pending changes, sync queue, queue order, and queue survival after app restart are tested.
  • Automatic sync after reconnect, manual sync, retry failed sync, and partial sync failure are handled.
  • Duplicate submits and repeated taps do not create duplicate queued actions or duplicate server records.
  • Temporary ids are replaced with server ids after successful sync.

Conflicts, auth, and data safety

  • Conflict resolution covers same-record edits, deleted-on-server conflicts, stale cache, and last-write-wins if required.
  • Expired token, auth failure, account switch, tenant isolation, and permission changes during offline use are safe.
  • Logout clears protected cache and prevents offline access to sensitive data when required.
  • Local storage encryption, storage quota, cache eviction, and data loss prevention are tested.
  • Sync API schema, status codes, malformed payloads, idempotency, replay protection, and transaction consistency are verified.

Mobile lifecycle and reliability

  • Background, foreground, app killed, device restart, iOS, and Android lifecycle behavior works.
  • Network flapping, slow reconnect, server errors, queue failures, and worker restarts are recoverable.
  • Push or realtime reconnect does not conflict with offline sync.
  • Loading states, clear errors, screen reader offline status, and mobile layout are usable.
  • Many cached records, battery drain, crash recovery, audit logs, and sync metrics are checked.

Complete interview coverage checklist

Aim to mention 20-40 concrete checks. This expanded list helps you turn a short answer into a structured senior-style response.

Offline detection, back-online detection, airplane mode, poor network, and backend-down states are clear.
Cached home, profile, list, detail, and previously viewed records are available according to requirements.
Stale data indicator, last-updated timestamp, refresh control, and offline empty state are visible.
Actions that cannot work offline are disabled or explained clearly.
Local search and filtering over cached records behave predictably.
Offline create, edit, delete, draft, and attachment actions are queued correctly.
Pending changes, sync queue, queue order, and queue survival after app restart are tested.
Automatic sync after reconnect, manual sync, retry failed sync, and partial sync failure are handled.
Duplicate submits and repeated taps do not create duplicate queued actions or duplicate server records.
Temporary ids are replaced with server ids after successful sync.
Conflict resolution covers same-record edits, deleted-on-server conflicts, stale cache, and last-write-wins if required.
Expired token, auth failure, account switch, tenant isolation, and permission changes during offline use are safe.
Logout clears protected cache and prevents offline access to sensitive data when required.
Local storage encryption, storage quota, cache eviction, and data loss prevention are tested.
Sync API schema, status codes, malformed payloads, idempotency, replay protection, and transaction consistency are verified.
Background, foreground, app killed, device restart, iOS, and Android lifecycle behavior works.
Network flapping, slow reconnect, server errors, queue failures, and worker restarts are recoverable.
Push or realtime reconnect does not conflict with offline sync.
Loading states, clear errors, screen reader offline status, and mobile layout are usable.
Many cached records, battery drain, crash recovery, audit logs, and sync metrics are checked.
Structure your answer: Start with offline and online detection plus what data remains available.
Structure your answer: Add local actions: disabled actions, create/edit/delete queues, pending changes, app restart, and reconnect sync.
Structure your answer: Add conflicts and security: stale data, token expiry, account switch, protected cache, and encrypted local storage.
Structure your answer: Close with poor network, retries, duplicate prevention, lifecycle, accessibility, metrics, and crash recovery.
Do not miss: Actions that should be disabled while offline.
Do not miss: Queue survival after app restart.
Do not miss: Conflict resolution after offline edits.
Do not miss: Data loss, protected cache, and account switch behavior.

Ready to practice?

Practice this scenario interactively

Write your own answer and compare it with senior QA coverage.

Practice this scenario

Answer structure

Strong answer structure

  1. Start with offline and online detection plus what data remains available.
  2. Add local actions: disabled actions, create/edit/delete queues, pending changes, app restart, and reconnect sync.
  3. Add conflicts and security: stale data, token expiry, account switch, protected cache, and encrypted local storage.
  4. Close with poor network, retries, duplicate prevention, lifecycle, accessibility, metrics, and crash recovery.

Common missed areas

Common missed risks

Actions that should be disabled while offline.
Queue survival after app restart.
Conflict resolution after offline edits.
Data loss, protected cache, and account switch behavior.

Answer template

Use this interview answer template

I would start with offline detection and cached data, then cover disabled actions, local changes, sync after reconnect, conflict resolution, retry behavior, data loss prevention, duplicate submits, poor network, app restart, account isolation, storage security, UX, and metrics.

Use it as a structure, then replace the examples with specific checks for the feature you are discussing.

Common weak answer

“I would test valid and invalid cases.”

This is too generic because it does not show risk thinking. A stronger answer names the happy path, negative cases, security risks, backend/data behavior, UX/accessibility, and reliability concerns that matter for this exact scenario.

Examples

Weak answer vs stronger answer

Weak answer
I would test that the app works offline.

This is too broad to be useful. It misses cache rules, disabled actions, local changes, reconnect sync, conflicts, auth, data loss, lifecycle, and observability.

Stronger answer
I would test offline detection, back-online detection, airplane mode, poor network, backend down, cached home/profile/list/details, stale data indicator, last updated timestamp, offline empty state, disabled offline actions, local search, offline create/edit/delete, pending changes, sync queue, queue survives app restart, no duplicate queued actions, automatic sync after reconnect, manual sync, retry failed sync, partial sync failure, expired token, account switch isolation, tenant isolation, logout clears protected cache, conflict resolution, deleted-on-server conflict, temporary ids replaced with server ids, local storage encryption, storage quota, malformed sync payload, idempotency, app background/foreground, iOS and Android, screen reader offline status, mobile layout, battery drain, metrics, audit logs, crash recovery, and transaction consistency.

FAQ

Frequently asked questions

What should I mention first when answering "How would you test mobile app offline mode?"

Start with offline and online detection plus what data remains available.

Should I include negative and edge cases?

Yes. Add invalid inputs, empty states, duplicates, expired states, service failures, and recovery paths.

Should I include security, API, or backend risks?

Offline detection, back-online detection, airplane mode, poor network, and backend-down states are clear. Cached home, profile, list, detail, and previously viewed records are available according to requirements.

What are common missed risks?

Actions that should be disabled while offline. Queue survival after app restart. Conflict resolution after offline edits. Data loss, protected cache, and account switch behavior.

How can I practice this answer?

Use the interactive how would you test mobile app offline mode? challenge to write your own answer, get checklist-based feedback, and compare your coverage with stronger QA thinking.

Practice

Practice this scenario interactively

Write your own answer and compare it with senior QA coverage.

Practice this scenario