Жесты и Мобильный UI
Жесты
- Tap: Одиночное касание для выбора элемента.
- Double Tap: Два коротких касания (например, для увеличения фото).
- Long Tap: Нажатие с удержанием для вызова контекстного меню.
- Swipe: Короткое смахивание для переключения между экранами.
- Scroll: Длинное пролистывание для просмотра контента.
- Pinch: Сведение/разведение двух пальцев для масштабирования.
- Drag & Drop: Перетаскивание элемента.
Мобильные UI элементы
Аппаратное обеспечение
Сенсоры
Убедитесь, что приложение корректно реагирует на данные с акселерометра (ускорение), гироскопа (ориентация), датчика освещенности и т.д.
Экран и ориентация
Протестируйте приложение на экранах с разным разрешением и плотностью пикселей (ppi). Убедитесь, что UI не "ломается" при повороте экрана и все элементы остаются доступными.
Перегрев и батарея
Приложение может замедляться или быть "убито" системой при перегреве или низком заряде батареи. Важно проверить, что в таких ситуациях не теряются данные пользователя.
Прерывания и Сеть
Симуляция прерываний
Во время работы приложения может произойти что угодно. Нажмите кнопку, чтобы симулировать разные события.
Что тестировать:
Приложение не должно падать, терять данные или сессию после возвращения из фона.
Типы сетевых подключений
- Медленные сети (2G, 3G): Проверка поведения при нестабильном соединении, корректности сообщений об ошибках и времени ожидания.
- Быстрые сети (4G, 5G): Стандартный сценарий. Проверка скорости загрузки контента и общей производительности.
- Wi-Fi: Тестирование в стабильных условиях, особенно для функций, требующих большого трафика (загрузка видео, бэкапы).
- Переключение (Wi-Fi ↔ 4G): Проверка, не теряются ли данные и соединение при автоматическом переключении сетей.
- Без сети (Режим «в самолёте»): Приложение не должно падать, должно корректно сообщать об отсутствии сети и предоставлять офлайн-доступ, если он заявлен.
Типы приложений и взаимодействие с ОС
Типы приложений
- Нативные: Разработаны под конкретную ОС (iOS/Android). Максимальная производительность и доступ к железу.
- Гибридные: Веб-технологии «обёрнутые» в нативную оболочку. Проще в разработке, но могут быть проблемы с производительностью.
- Веб-приложения (PWA): По сути, сайты, адаптированные для мобильных устройств. Ограниченный доступ к железу.
Взаимодействие с ОС
Проверяйте, как приложение работает с системными настройками: смена языка, темы (светлая/тёмная), размера шрифта, режима энергосбережения.
Разрешения (Permissions)
Приложение должно запрашивать разрешения (на доступ к камере, контактам, геолокации) только когда это необходимо. Протестируйте сценарии, когда пользователь запрещает доступ.
Уведомления
Убедитесь, что push-уведомления приходят, корректно отображаются, а нажатие на них (deep link) ведёт на правильный экран внутри приложения.
Ключевые типы мобильного тестирования
Установка и обновление
Проверяйте установку из разных источников (магазин, .apk/.ipa), обновления с сохранением данных и чистую переустановку. Не забывайте тестировать прерывание установки.
Стресс и нагрузка
Проверяйте поведение приложения при нехватке ресурсов: малый заряд батареи, недостаток памяти, переполненное хранилище. Имитируйте множество быстрых нажатий.
Безопасность
Убедитесь, что данные шифруются при передаче (HTTPS), локальные данные не хранятся в открытом виде, а поля для ввода пароля маскируются.
Удобство (Юзабилити)
Приложение должно быть интуитивно понятным и соответствовать гайдлайнам платформы (iOS/Android). Проверяйте, насколько легко пользователю достичь своей цели.
Устройства для тестирования
Реальные устройства
Физические смартфоны и планшеты. Дают самую точную картину, но дороги в содержании. Можно использовать облачные фермы реальных устройств.
Эмуляторы (Android Studio)
Программы, которые имитируют и аппаратное обеспечение (железо), и программную среду устройства. Медленнее, но точнее симуляторов.
Симуляторы (Xcode for iOS)
Программы, которые имитируют только программную среду ОС, используя железо вашего компьютера. Быстрее, но менее точны, чем эмуляторы.
Вывод
Ни эмуляторы, ни симуляторы не заменяют тестирования на реальных устройствах, особенно для критически важной функциональности, связанной с железом (камера, GPS, звонки).