Тестирование историй

Тестирование историй

t.me/qa_chillout

Немного про истории. Формат «историй» используется для продвижения товаров на площадке. Истории видны подписчикам продавцов, а также пользователям, которые находятся неподалеку от них.


Разделим логику на серверную и клиентскую часть.

Серверная:

  • включение фичи по a/b тестам;
  • подборки историй, которые приходят пользователю исходя из его местоположения и на кого юзер подписан;
  • продолжительность истории;
  • ранжирование историй (старые истории улетают в конец подборки);
  • модерация историй.

Клиентская:

  • отображение подборок историй, приходящих с бэка;
  • публикация фото- и видеоисторий (выбор из галереи, экран предпросмотра);
  • видео сжимается до 720p на клиенте перед загрузкой на бек;
  • рендеринг видео и фото (кроп, блюр, вращение, зум, отдаление);
  • отправка аналитики.

Рассмотрим тестирование на примере только мобильных приложений.


Что предстояло проверить?

1) Публикация историй: конечно же это публикация историй для авторизованных и неавторизованных пользователей. Неавторизованным пользователям открывается экран авторизации, а следом перенаправляем на экран публикации истории. Важно было проверить все кейсы, связанные с разными способами авторизации (по номеру телефона/соцсети). После того, как пользователь выбрал фотографию/видео из галереи/с камеры - он может ее вращать, зумить и отдалять на экране предпросмотра истории.

При проверке также стоило проверить кейс, когда пользователь указывает заблокированное объявление, на которое будет ссылаться история.

2) Просмотр историй: юзер может и ничего не выкладывать, а просматривать те истории, которые прилетают к нему исходя из следующей логики: сначала показываются группы историй, опубликованные теми пользователями, на кого подписаны мы, если таковых не имеется, значит, подмешиваются истории исходя из нашего гео. При тестировании кейсов, связанных со свайпом, важно проверять анимацию, переходы, а также случаи, когда потеряно соединение с интернетом и не подгрузилась следующая группа историй.

Доступен просмотр историй не только на экране "Главная", но и из профиля пользователя - своего или чужого.

А также на экране "Настройки" своего пользователя. Не забываем про магазины (это платные профили для продавцов). После просмотра группы историй - обводка должна менять цвет на серый.

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

4) Push и Deeplink: маркетинговые пуши с новостями о запуске и deeplink на конкретный экран публикации. Переходы по push уведомлению с заблокированного экрана, когда прил выгружен, запущен. Проверяем, что попадаем на верный экран и проходим по флоу.


Не обошлось и без багов...

Рендеринг на слабых устройствах, например таких, как iPhone SE, iOS 11.4.1. Этот процесс происходит медленнее, чем на более новых устройствах, что логично. При загрузке видео в формате 4K, когда выбираем видео из галереи, мы можем через метод получить его url, но видео по этому url доступно короткое время, а разработчики этот url передают по всему приложению, поэтому на момент рендеринга видео становилось недоступным.

А вот еще несколько примеров багов в приложении на Android. Не забывайте про кейсы, связанные с тестированием прерываний, когда например вам поступил звонок или вы заблокировали экран. Возможны случаи, когда экран либо станет неактивным, либо отобразится черный экран. Проверяйте также на слабых устройствах. Для симуляции ситуации, когда не хватает памяти на устройстве, можно в режиме разработчика, в разделе "Background Process Limit" выбрать "No background processes", в таком случае система ограничивает количество процессов, одновременно активных в фоновом режиме.


Резюме

В этой статье я постарался обратить внимание на узкие места при тестировании определенной фичи - "Истории на Юле". Старайтесь смотреть на функционал шире, думать про те области, экраны, которые могли быть косвенно затронуты. Полезным плюсом будет, который вам поможет при тестировании - посмотрите как реализован похожий функционал в других приложениях.

Report Page