iOS testing для QA

iOS стабильнее по парку устройств, но имеет свои риски: строгий lifecycle, permissions, Keychain, APNs, TestFlight, App Store review, ограниченный доступ к файловой системе и особенности разных версий iOS.

Что важно понять

  • Permissions: camera, photos, location, notifications, tracking transparency.
  • Lifecycle: cold start, background, terminate, restore, memory pressure.
  • Keychain и сохранение сессии после reinstall или update.
  • Push, universal links, in-app purchases, TestFlight vs App Store build.

Рабочий порядок

  1. Проверьте сценарий на актуальной и минимально поддерживаемой iOS.
  2. Отдельно проверьте denied / limited / allowed состояния permissions.
  3. Сравните поведение TestFlight и release-конфигурации, если оно зависит от окружения.
  4. Фиксируйте device model, iOS version, build number и provisioning context.

Что отдавать команде

  • iOS-specific checklist.
  • Видео дефекта и sysdiagnose/logs, если команда их запрашивает.
  • Список проверок перед App Store submission.

Частые провалы

  • Забывать limited photo access.
  • Не проверять reinstall/update и сохранение keychain-состояний.
  • Считать TestFlight полностью равным App Store окружению.

Практика

Проверьте сценарий авторизации после update, logout, reinstall и удаления данных приложения. Отдельно отметьте, что сохраняется в keychain.