← Назад к вопросам
Какие знаешь специфические мобильные проверки?
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
- На эмуляторах и реальных устройствах
Мой подход к мобильному тестированию
-
Device matrix:
- iOS: iPhone 12, 13, 14 (последние 3 поколения)
- Android: 3-4 популярных модели
- Реальные устройства + облачные сервисы
-
OS версии:
- iOS: поддерживаемые последние 2-3 версии
- Android: 5.0+, особое внимание к версии < 6.0 (permission model отличается)
-
Сетевые условия:
- Always test на slow network
- Test offline mode
-
Батарея и память:
- Monkey testing хотя бы раз
- Energy profiling для критичных flows
-
Интеграционные тесты:
- Interrupts: calls, notifications
- Background/foreground transitions
Мобильное тестирование требует больше внимания к деталям, чем web.