Какие проверки мобильной специфики можно добавить кроме осей, разрешения, ориентации и темной/светлой темы
Что проверяют
Знаете ли вы, чем мобильное приложение отличается от сайта в маленьком окне: жизненным циклом, прерываниями, сетью, разрешениями и железом. Следом обычно спрашивают, что из этого нельзя честно проверить на эмуляторе.
Как отвечать
Сгруппируйте проверки, чтобы ответ не выглядел случайным списком:
- прерывания: входящий звонок, пуш, будильник, системный диалог во время оплаты или записи видео, сворачивание и возврат;
- смерть процесса: система выгружает приложение в фоне, пользователь возвращается, и экран с введёнными данными должен восстановиться. На Android это воспроизводит опция разработчика «Не сохранять действия»;
- сеть: переключение Wi-Fi и мобильной сети посреди запроса, режим полёта, плохой канал через Network Link Conditioner на iOS или троттлинг в эмуляторе Android, офлайн, повторы и таймауты;
- разрешения: отказ, «только в этот раз», отзыв в настройках, пока приложение в фоне, приблизительная геолокация. На Android 13 и новее разрешение на уведомления тоже запрашивается в рантайме;
- системные настройки: крупный шрифт, язык с письмом справа налево, формат времени на 12 и 24 часа, смена часового пояса;
- экран и ввод: вырез и Dynamic Island, безопасные зоны, жестовая навигация и «Назад» на Android, клавиатура поверх поля ввода;
- железо и ресурсы: биометрия, камера, GPS, мало свободного места, низкий заряд и режим энергосбережения;
- установка и обновление: обновление со старой версии с миграцией данных, диплинки, открытие нужного экрана из пуша;
- доступность: VoiceOver и TalkBack.
Где спотыкаются
Перечисляют веб-проверки: кроссбраузерность, SQL-инъекции, адаптивную вёрстку. Это не мобильная специфика.
Тестируют только на симуляторе. Звонки, биометрия, реальная сотовая сеть и расход батареи там воспроизводятся условно или никак, нужен хотя бы небольшой парк реальных устройств или облачная ферма.
Проверяют только чистую установку. Самые неприятные баги появляются при обновлении поверх старой версии, когда локальная база или сохранённые настройки в другом формате.