Особенности тестирования iOS и Android

Вы уже знаете, что интерфейс одного и того же сайта может выглядеть по-разному в Chrome и Safari — это мы изучали в теме Кроссбраузерное тестирование: основы. Теперь давайте расширим этот взгляд: не только браузеры, но и операционные системы влияют на то, как пользователь видит и взаимодействует с приложением.

Сегодня мы поговорим о двух главных платформах для мобильных приложений — iOS и Android. Они устроены по-разному, и тестирование под каждую из них требует особого подхода.

Платформенные различия: почему одно приложение может вести себя по-разному?

Когда вы тестируете мобильное приложение, важно помнить: iOS и Android — это не просто разные ОС, а целые экосистемы с собственными правилами.

Разработчики и дизайнеры руководствуются гайдлайнами:

  • В iOS — это Human Interface Guidelines от Apple
  • В AndroidMaterial Design от Google

Эти правила определяют, как должны выглядеть кнопки, меню, анимации и даже как пользователь должен переходить между экранами.

💡 Например, в iOS переход "назад" чаще всего реализуется свайпом по экрану слева направо. В Android — это системная кнопка "Назад" или стрелка в верхнем левом углу. Если в iOS-приложении нет свайпа, пользователь может почувствовать дискомфорт.

Тестирование iOS и тестирование Android: в чём разница?

Давайте сравним ключевые особенности:

АспектiOSAndroid
Системные жестыСвайп назад, свайп вверх для управления приложениямиМеню "назад", "домой", "недавние" — могут быть кнопками или жестами
КлавиатураУнифицированная, меньше вариантовБольшой выбор — от 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:

  1. Соответствие платформенным гайдлайнам
    — Кнопки, шрифты, иконки соответствуют стилю iOS или Android?

  2. Работа системных жестов и кнопок
    — Кнопка "Назад" в Android работает?
    — Свайп назад в iOS работает?

  3. Отображение на разных разрешениях экранов
    — Элементы не обрезаются?
    — Текст читаем на маленьком экране?

  4. Поведение при переключении между приложениями
    — Приложение корректно возвращается из фонового режима?
    — Не теряются данные в формах?

  5. Реакция на уведомления и звонки
    — Приложение корректно приостанавливается при звонке?
    — Уведомления не ломают интерфейс?

✅ Используйте этот чек-лист как шаблон при каждом тестировании мобильного приложения. Со временем он станет вашим "навигатором" по багам.

Что дальше?

Теперь вы понимаете, что тестирование iOS и тестирование Android — это не просто "проверить на двух телефонах", а системная работа с учётом платформенных норм, разрешений экранов и поведения пользователя.

Но возникает вопрос: нужно ли иметь десять устройств, чтобы всё это проверить?

К счастью — нет.

В следующей теме вы узнаете, как использовать эмуляторы, чтобы тестировать приложение на разных моделях телефонов, операционных системах и разрешениях — не выходя из компьютера. Это сэкономит время, деньги и поможет находить баги ещё эффективнее.

Готовы к практике без лишних устройств? Тогда — вперёд!