Можно ли использовать системные настройки телефона для проверки элементов приложения, кроме темной и светлой темы?
Что проверяют
Насколько широко вы смотрите на окружение мобильного приложения. Тёмная тема лежит на поверхности, а интервьюеру интересно, знаете ли вы про доступность, локаль, энергосбережение и настройки разработчика. Следом часто просят назвать дефекты, которые такие проверки обычно находят.
Как отвечать
Да, и это обязательная часть мобильного тестирования. Разложите настройки по группам:
- шрифт и масштаб: Dynamic Type на iOS, размер шрифта и размер экрана на Android, где с 14-й версии шрифт увеличивается до 200%. Ищете обрезанный текст, наложения, кнопки за краем экрана;
- доступность: VoiceOver и TalkBack проверяют подписи элементов и порядок фокуса, плюс жирный шрифт, повышенный контраст и уменьшение движения;
- язык и регион: длинные строки на немецком, RTL на арабском или иврите, форматы дат, чисел и валют, 24-часовой формат, часовой пояс;
- ресурсы: энергосбережение и экономия трафика ограничивают фоновую работу, синхронизацию и доставку push;
- разрешения: отзыв доступа к камере, геолокации или уведомлениям, пока приложение свёрнуто. Android при этом завершает процесс, и приложение должно корректно восстановиться;
- настройки разработчика на Android: «Не сохранять действия» для проверки восстановления состояния, масштаб анимации, лимит фоновых процессов.
Для автоматизации пригодятся adb shell settings put system font_scale 1.3 и adb shell cmd uimode night yes, а на iOS Environment Overrides в Xcode, где размер шрифта и контраст меняются прямо во время запуска на симуляторе.
Где спотыкаются
Перечисляют настройки без ожидаемого результата. Сильнее ответ, где сказано, что именно ломается: текст обрезается многоточием вместо переноса, TalkBack читает «кнопка» без подписи.
Проверяют крупный шрифт на одном главном экране. Ломаются обычно длинные формы, диалоги и ячейки с фиксированной высотой, их и надо обходить в первую очередь.
Забывают про смену настроек на лету. Приложение, запущенное до изменения шрифта или языка, должно пересоздать экран без потери введённых данных, и это отдельный сценарий, а не повтор предыдущего.