← Назад к вопросам

Какие знаешь специфические мобильные проверки?

1.2 Junior🔥 151 комментариев
#Мобильное тестирование#Техники тест-дизайна

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Специфические мобильные проверки (Mobile-specific QA)

Введение

Мобильное тестирование сильно отличается от веб. Есть специфичные проблемы, которые не существуют на desktop.

1. Сетевые условия

Проверки:

  • 2G, 3G, 4G, 5G сети
  • WiFi с плохим сигналом
  • Переключение между сетями (WiFi → mobile data)
  • Network timeout (приложение 5+ минут без интернета)
  • Intermittent connection (сеть прерывается периодически)

Как тестирую:

  • Charles Proxy: throttling
  • Xcode Instruments: Network Link Conditioner
  • Android: Network Emulation в DevTools

Что проверяю:

  • Обработка timeout
  • Retry логика
  • Offline mode (если поддерживается)
  • Пользовательское сообщение (не просто crash)

2. Батарея и энергопотребление

Проверки:

  • Приложение не прожигает батарею
  • Background процессы минимизированы
  • Location tracking не постоянный
  • Push notifications не избыточные
  • Синхронизация данных оптимизирована

Как тестирую:

  • Xcode Instruments: Energy Impact
  • Android: Battery Historian
  • Собственный тест: запускаю app, жду 2 часа, смотрю на батарею

3. Память и CPU

Проверки:

  • Memory leaks (утечки памяти)
  • High CPU usage (процесс постоянно использует CPU)
  • Crash на low-end устройствах
  • App не замерзает при работе с большими данными
  • Background process не крушит систему

Как тестирую:

  • Xcode Instruments: Leaks, Allocations
  • Android: Memory Profiler
  • Monkey testing (random actions 10+ часов)

4. Разрешения (Permissions)

Проверки:

  • Camera: ask permission → grant → deny → revoke
  • Microphone: аналогично
  • Location: always, only while using, never
  • Contacts, Photos, Calendar
  • Health data (на Apple Health)

Особенность: разные версии OS имеют разную permission модель

  • iOS: всегда спрашивает
  • Android: до 5.x — install time, после 6.x — runtime

Как тестирую:

  • Иду в Settings, отключаю permission
  • Проверяю, что app gracefully обрабатывает отсутствие прав

5. Ориентация экрана (Orientation)

Проверки:

  • Portrait → Landscape переход
  • Ориентация блокирована (если нужно)
  • UI адаптируется правильно
  • Состояние preserves при rotation
  • Video, Forms, Maps работают в обоих ориентациях

Как тестирую:

  • Поворачиваю устройство
  • Проверяю, что ничего не сломалось
  • Тестирую с disabled auto-rotation

6. Interrupt обработка

Проверки:

  • Входящий звонок → app minimized → восстановление
  • SMS во время работы
  • Push notification в процессе заполнения формы
  • Lock screen (device locked во время работы)
  • Alarm notification

Как тестирую:

  • Запускаю app
  • Во время работы, call на устройство
  • Проверяю, что app сохраняет состояние
  • Возвращаюсь в app — все ok?

7. Storage (Хранилище)

Проверки:

  • Недостаточно свободного места
  • App не использует больше allocated storage
  • Очистка кэша работает
  • Большие файлы (videos) сохраняются
  • Database corruption при перезагрузке

Как тестирую:

  • Заполняю device storage на 95%
  • Пытаюсь добавить данные в app
  • Проверяю обработку "Storage Full"

8. Биометрическая аутентификация

Проверки:

  • Touch ID / Face ID / Fingerprint работает
  • Fallback на password
  • Device не поддерживает биометрию → работает password
  • Несколько пальцев зарегистрировано
  • Попытка несколько раз (блокировка на 30 сек)

Как тестирую:

  • На реальном устройстве (эмулятор не все поддерживает)
  • Проверяю успешную аутентификацию
  • Проверяю failed attempts

9. Device-specific issue

Проверки:

  • iPad vs iPhone (разные resolution)
  • Notch на iPhone X+ (content не должен быть под notch)
  • Safe Area (bottom safe area на iPhone X+)
  • Landscape mode на большых экранах
  • Dynamic Island (на новых iPhone 14+)

Как тестирую:

  • Тестирую на реальных устройствах разных поколений
  • BrowserStack cloud devices

10. Background и Foreground переходы

Проверки:

  • App suspend в background
  • Data sync при возврате в foreground
  • Notifications в background
  • Background tasks (если app поддерживает)
  • Memory cleanup при long background time

Как тестирую:

  • Запускаю app
  • Home button → app уходит в background
  • Жду 5 минут
  • Возвращаюсь в app
  • Все данные актуальны?

11. Установка / Обновление

Проверки:

  • Fresh install работает
  • Update с предыдущей версии
  • Откат версии (если возможно)
  • Migration data при обновлении
  • Uninstall полностью очищает данные

Как тестирую:

  • Удаляю app
  • Переустанавливаю
  • Проверяю, что user data очищены

12. Локализация

Проверки:

  • RTL языки (Arabic, Hebrew)
  • Крупный текст (для accessibility)
  • Локаль-специфичные форматы (даты, деньги)
  • Перевод UI элементов
  • Локальные клавиатуры

13. Жесты (Gestures)

Проверки:

  • Swipe (left, right, up, down)
  • Pinch (zoom)
  • Long press
  • Double tap
  • Drag & drop
  • Shake device

Как тестирую:

  • Perform each gesture
  • Проверяю обработку
  • Тестирую edge cases (очень быстрый swipe)

14. Версии OS

Проверки:

  • Поддержка минимальной версии OS
  • Features, которые доступны только в новых версиях
  • Deprecation в новых версиях

Как тестирую:

  • Тестирую на разных версиях iOS / Android
  • На эмуляторах и реальных устройствах

Мой подход к мобильному тестированию

  1. Device matrix:

    • iOS: iPhone 12, 13, 14 (последние 3 поколения)
    • Android: 3-4 популярных модели
    • Реальные устройства + облачные сервисы
  2. OS версии:

    • iOS: поддерживаемые последние 2-3 версии
    • Android: 5.0+, особое внимание к версии < 6.0 (permission model отличается)
  3. Сетевые условия:

    • Always test на slow network
    • Test offline mode
  4. Батарея и память:

    • Monkey testing хотя бы раз
    • Energy profiling для критичных flows
  5. Интеграционные тесты:

    • Interrupts: calls, notifications
    • Background/foreground transitions

Мобильное тестирование требует больше внимания к деталям, чем web.