Модуль 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.
Матриця з ризику, не з брендів
Вибір 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.
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/foreground | Task resumes predictably; sensitive UI protected; no duplicate request/event. |
| Rotation/recreation/window change | Navigation, entered data, focus/scroll і validation state follow contract. |
| Process death/relaunch | Persisted state restored or safe restart explained; corrupt partial state absent. |
| Update/fresh install | Migration/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.
Офіційні джерела
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.