Модуль 11 · Урок 40

Mobile contexts, device matrix і interruptions

«Працює на моєму телефоні» не є coverage. Mobile QA моделює supported platform/build, device class, screen/window, input, network, locale/settings, lifecycle та interruption — і перевіряє state, data integrity та duplicate effects.

Device matrixLifecycleInterruptionsState recovery

Матриця з ризику, не з брендів

Вибір devices походить зі supported OS/deployment target, analytics/market, hardware capabilities і business-critical tasks. Покрийте small/large screens, portrait/landscape або multi-window, touch/keyboard/switch, current/oldest supported OS, fresh install/update, locale/timezone, text/display scale, stable/constrained/offline network.

PlatformOS/version, device class, build/config, permissions і services.
PresentationWindow/orientation, density, text scale, safe areas, theme.
ContextNetwork, battery/storage, backgrounding, notification/call/prompt.

Lifecycle — observable state machine

Android Activity може pause/stop/recreate або process може бути destroyed; iOS app/scene переходить між active, inactive, background і може бути suspended/terminated. Test oracle — не назва callback, а user-visible continuity, persisted/ephemeral state, resource behavior і server-side effects.

EventПеревірка
Background/foregroundTask resumes predictably; sensitive UI protected; no duplicate request/event.
Rotation/recreation/window changeNavigation, entered data, focus/scroll і validation state follow contract.
Process death/relaunchPersisted state restored or safe restart explained; corrupt partial state absent.
Update/fresh installMigration/defaults/auth/data behavior matches versioned requirement.

Interruptions і external UI

Перевірте system permission prompt accept/deny/revoke, incoming call/notification, picker/share sheet, authentication handoff, keyboard appearance, low storage та network transition. Expected modal у flow тестується як step; unrelated modal, що блокує automation, обробляється окремо, але не ховає product defect.

Retry може дублювати business effect

При timeout/offline/backgrounding звірте client state із server/audit: одна accepted operation, idempotency/deduplication за contract, зрозумілий retry/cancel і recovery.

Evidence і privacy

Запишіть exact release build, device/OS, install/update state, permissions, network, locale/timezone, text/display settings, precondition, interruption timing, expected/observed state та backend oracle. Screen recording може захопити notifications, contacts або голос — використовуйте synthetic accounts і redaction.

Практика

Заповніть `device-context-matrix.csv` та `interruption-state-matrix.csv` для трьох critical BookFlow tasks. Кожний case має state oracle, data oracle і duplicate-effect oracle.

Офіційні джерела

Практична перевірка · урок 40 з 44

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. З чого будується mobile device matrix?
2. Що важливо крім model/OS?
3. Який oracle для background/foreground?