Push-уведомления являются важнейшей функцией мобильных приложений. Вы, как пользователь, полагаетесь на них, получая напоминания и предупреждения, а создатели приложений рассчитывают с их помощью удержать вас или вернуть.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Пользователи доверяют напоминаниям и оповещениям. Поэтому важно тестировать push-уведомления при каждом релизе. Если они не будут работать, ваши пользователи пропустят важную информацию, и вы рискуете отпустить их к конкурентам.
У push-уведомлений есть ряд особенностей, не свойственных другим функциям. Они по-разному ведут себя на Android и iOS, и пользователи имеют значительный контроль над их действиями. В этой статье мы собрали список часто задаваемых вопросов и ответов о тестировании мобильных push-уведомлений.
Содержание
- Зачем тестировать push-уведомления?
- Что можно протестировать в push-уведомлениях?
- Какие инструменты используются для тестирования push-уведомлений?
- Каковы основные проблемы тестирования push-уведомлений?
- Каковы различия между тестированием push-уведомлений на iOS и Android?
- Каковы распространенные ошибки при тестировании push-уведомлений?
- Как интегрировать тестирование push-уведомлений в конвейеры CI/CD?
- Заключение
Зачем тестировать push-уведомления?
В работе push-уведомлений есть множество неочевидных переменных, на которые стоит обратить внимание. Мы должны учитывать следующие вещи:
- пользователи должны получать ваши сообщения, даже если приложение закрыто
- push-уведомленя должны работать, если телефон пользователя заблокирован
- содержащиеся в уведомлении ссылки, на которое можно нажать, должны быть рабочими.
В общем, эти пункты можно смело добавлять в ваш чек-лист проверок push-уведомлений.
Что можно протестировать в push-уведомлениях?
Чтобы протестировать мобильные push-уведомления, вам необходимо рассмотреть различные обстоятельства, при которых пользователь может получать данные оповещения:
- разнообразие конфигураций
- состояния приложений
- пользовательские параметры
- различные версии оборудования и ОС.
Тестируя уведомления, ответьте себе на вопросы:
- Отображаются ли они во время работы приложения?
- Продолжает ли устройство получать и отображать их после того, как пользователь закрыл приложение?
- Что происходит, когда устройство находится в режиме “не беспокоить”?
- Видны ли уведомления, когда запущено другое приложение?
- Помешает ли изменение часового пояса на устройстве доставке оповещений?
- Кликабельно ли оповещение? Корректно ли отображается контент при нажатии?
- Правильно ли отображаются параметры в уведомлениях? (Звуки, шрифты, иконки и т.д.).
Это не исчерпывающий список функций, но он должен дать вам представление о том, с чего начать тестирование push-уведомлений.
Какие инструменты используются для тестирования push-уведомлений?
Начиная с бета-версии XCode 11.4, вы можете тестировать push-уведомления для iOS с помощью симулятора iOS от Apple. Вы можете зарегистрировать их в своем приложении, перетащить APN-файлы в симулятор и смоделировать их из командной строки. Также можно протестировать push-уведомления в эмуляторе Android. Как и симулятор iOS, он может регистрировать и отображать уведомления.
Эмуляторы упрощают тестирование с использованием различных размеров экранов, версий ОС и конфигураций. Однако они не учитывают таких тонкостей, как поведение приложений в фоновом режиме или взаимодействие с другими процессами на физическом устройстве. Окончательное тестирование нового релиза должно проводиться на реальном оборудовании и включать в себя push-уведомления.
В дополнение к симуляторам и реальному оборудованию можно провести сквозное тестирование с помощью сервиса уведомлений, который вы используете в рабочей среде. Например, Firebase предлагает инструкции по тестированию приложений для Android и iOS. У OneSignal есть FAQ здесь.
Каковы основные проблемы тестирования push-уведомлений?
На первый взгляд, push-уведомление – это просто отправка асинхронного сообщения в ваше приложение, однако многое может пойти не так.
Как уже говорилось в предыдущем вопросе, для полноценного тестирования push-уведомлений требуется тестирование на реальных устройствах. Это справедливо для любого мобильного приложения, а не только для приложения с push-уведомлениями. Собрать парк мобильных девайсов с необходимыми параметрами вполне возможно. При этом следует обдумать следующие вещи:
- Используете ли вы более одного поставщика услуг обмена сообщениями? Чем отличаются их API и форматы сообщений? Доставляют ли они сообщения на клиентские устройства с одинаковой семантикой?
- Учитываете ли вы множество различных конфигураций устройств, используемых вашими пользователями? Как влияют на работу приложения такие функции, как доставка по расписанию и режим “не беспокоить”?
- Как различные размеры экранов, версии операционных систем и конфигурации изменят поведение ваших сообщений?
- Как на ваши push-уведомления повлияют обновления мобильных операционных систем и аппаратного обеспечения?
Как мы уже говорили выше, тестирование на реальных устройствах является обязательным условием для полного охвата.
Каковы различия между тестированием push-уведомлений на iOS и Android?
Очевидное различие между тестированием push-уведомлений на iOS и Android заключается в их графических интерфейсах. Для проверки содержимого уведомлений потребуется написать разные тесты. Но на этом различия не заканчиваются.
iOS и Android управляют доставкой уведомлений совершенно по-разному. Вот несколько моментов, которые необходимо учитывать при их тестировании:
- Пользователи Apple должны подписаться на уведомления из вашего приложения. Поэтому, когда вы настраиваете интеграционные тесты, охватывающие установку новой версии приложения, они должны позволять включать сообщения.
- Пользователи iOS имеют возможность контролировать, отключать уведомления с помощью функции “Не беспокоить” и отложить их доставку на более позднее время.
- Android и iOS также по-разному управляют уведомлениями на экране блокировки устройства. Вам потребуется написать автоматизированные тесты для различных способов просмотра и удаления сообщений пользователями.
Каковы распространенные ошибки при тестировании push-уведомлений?
Вы можете повысить стабильность приложения и удовлетворенность клиентов, учитывая следующее:
- Самая распространенная ошибка при тестировании push-уведомлений – не тестировать их вообще. Несмотря на то, что уведомления в основном тестируются “вне приложения” и на первый взгляд кажутся простыми, они требуют особой тщательности и внимания.
- Отсутствие тестирования ссылок на содержание контента может привести к ухудшению качества работы и даже к сбоям в работе приложения.
- Не стоит полагаться на симуляторы и эмуляторы для тестирования. Они могут работать с push-уведомлениями даже на iOS, но тестирования на них недостаточно. Уведомления должны позволять приложениям работать в фоновом режиме и не мешать конкурировать за системные ресурсы.
Как интегрировать тестирование push-уведомлений в конвейеры CI/CD?
Вы можете интегрировать тесты в автоматизированные сборки и развертывания и настраивать характер тестов в зависимости от типа сборки. Но тестирование на реальных устройствах требует больше времени и денег, а добавление этих тестов в каждую сборку замедлит разработку и даже может привести к тому, что разработчики вообще пропустят тест.
Вот возможный подход к тестированию push-уведомлений в конвейере CI/CD:
- Разработчики создают тестовые уведомления в симуляторе. Чтобы ускорить процесс, тест генерирует сообщения локально с помощью simctl для iOS или loopback API для Android.
- При приемочном тестировании (UAT) также используется симулятор. Но в качестве дополнительного шага проверки он отправляет уведомления через ваш сервис обмена сообщениями.
- Конвейеры доставляют релизные сборки на реальные устройства. Приложения получают уведомления через производственные службы обмена сообщениями.
Заключение
Push-уведомления – важная функция, и их поддержка может оказаться сложной. Но при должном внимании и тщательном тестировании вы можете создать и выпустить приложение с надежными и полезными сообщениями для ваших пользователей.
Перевод статьи «Testing Push Notifications Demystified: An Engineer’s FAQ».