Вы уже знаете, что интерфейс одного и того же сайта может выглядеть по-разному в Chrome и Safari — это мы изучали в теме Кроссбраузерное тестирование: основы. Теперь давайте расширим этот взгляд: не только браузеры, но и операционные системы влияют на то, как пользователь видит и взаимодействует с приложением.
Сегодня мы поговорим о двух главных платформах для мобильных приложений — iOS и Android. Они устроены по-разному, и тестирование под каждую из них требует особого подхода.
Платформенные различия: почему одно приложение может вести себя по-разному?
Когда вы тестируете мобильное приложение, важно помнить: iOS и Android — это не просто разные ОС, а целые экосистемы с собственными правилами.
Разработчики и дизайнеры руководствуются гайдлайнами:
- В iOS — это Human Interface Guidelines от Apple
- В Android — Material Design от Google
Эти правила определяют, как должны выглядеть кнопки, меню, анимации и даже как пользователь должен переходить между экранами.
💡 Например, в iOS переход "назад" чаще всего реализуется свайпом по экрану слева направо. В Android — это системная кнопка "Назад" или стрелка в верхнем левом углу. Если в iOS-приложении нет свайпа, пользователь может почувствовать дискомфорт.
Тестирование iOS и тестирование Android: в чём разница?
Давайте сравним ключевые особенности:
| Аспект | iOS | Android |
|---|---|---|
| Системные жесты | Свайп назад, свайп вверх для управления приложениями | Меню "назад", "домой", "недавние" — могут быть кнопками или жестами |
| Клавиатура | Унифицированная, меньше вариантов | Большой выбор — от Google Keyboard до сторонних |
| Модальные окна | Часто закрываются свайпом вниз | Обычно требуют нажатия кнопки "Назад" или "Отмена" |
| Уведомления | Централизованный центр уведомлений | Разделены на баннеры, звук и панель уведомлений |
Эти различия напрямую влияют на то, как вы тестируете интерфейс. Например, если модальное окно в Android не закрывается кнопкой "Назад", это — баг. А в iOS, если нельзя закрыть окно свайпом, это тоже нарушение платформенных норм.
Разрешения экранов: где чаще всего "поехавшая" верстка
Одна из самых частых проблем в мобильном тестировании — некорректное отображение элементов на разных устройствах.
Почему? Потому что:
- iPhone имеет ограниченный набор экранов (13 моделей в активе)
- Android — тысячи устройств с разными размерами экранов и плотностью пикселей (DPI)
Разработчики используют адаптивную вёрстку, но она не всегда срабатывает идеально.
Например, кнопка "Заказать" может:
✅ Отображаться полностью на iPhone 15
❌ Быть обрезанной на бюджетном Android-телефоне с маленьким экраном
📐 Технически: размеры экранов измеряются в точках (iOS) и dp (Android), а плотность — в ppi или dpi. Приложение должно корректно масштабировать элементы под разные значения.
Если не учитывать разрешения экранов, пользователь может не увидеть важную кнопку или не сможет ввести данные в форму.
Типичные UI-баги на iOS и Android
Вот несколько примеров, на которые стоит обращать внимание:
Пример 1: форма ввода перекрывается клавиатурой
- На Android — часто встречается, если интерфейс не настроен на
adjustResize - На iOS — система обычно сама поднимает поле ввода, но бывает, что этого не происходит
Пример 2: модальное окно не реагирует на системные жесты
- В iOS — свайп вниз должен закрывать окно
- В Android — кнопка "Назад" должна работать
Если этого нет — это ошибка юзабилити, даже если функционально всё работает.
Пример 3: разный стиль элементов
- Кнопка оформлена в стиле Material Design (с тенью и закруглёнными краями), но приложение — для iOS
- Или, наоборот, в Android-приложении используются плоские кнопки без тени
Это не функциональный баг, но нарушение гайдлайнов, что снижает доверие пользователя.
Практический чек-лист для тестирования мобильного интерфейса
Вот 5 пунктов, которые стоит проверять при тестировании под iOS и Android:
-
Соответствие платформенным гайдлайнам
— Кнопки, шрифты, иконки соответствуют стилю iOS или Android? -
Работа системных жестов и кнопок
— Кнопка "Назад" в Android работает?
— Свайп назад в iOS работает? -
Отображение на разных разрешениях экранов
— Элементы не обрезаются?
— Текст читаем на маленьком экране? -
Поведение при переключении между приложениями
— Приложение корректно возвращается из фонового режима?
— Не теряются данные в формах? -
Реакция на уведомления и звонки
— Приложение корректно приостанавливается при звонке?
— Уведомления не ломают интерфейс?
✅ Используйте этот чек-лист как шаблон при каждом тестировании мобильного приложения. Со временем он станет вашим "навигатором" по багам.
Что дальше?
Теперь вы понимаете, что тестирование iOS и тестирование Android — это не просто "проверить на двух телефонах", а системная работа с учётом платформенных норм, разрешений экранов и поведения пользователя.
Но возникает вопрос: нужно ли иметь десять устройств, чтобы всё это проверить?
К счастью — нет.
В следующей теме вы узнаете, как использовать эмуляторы, чтобы тестировать приложение на разных моделях телефонов, операционных системах и разрешениях — не выходя из компьютера. Это сэкономит время, деньги и поможет находить баги ещё эффективнее.
Готовы к практике без лишних устройств? Тогда — вперёд!