Зачем приложению с многомиллионной аудиторией запускать бета-тестирование?
Всем привет!
На связи Таня — UX/СХ-исследователь, и Амир — CPO в команде Единой мобильной платформы X5 Digital.
В этой статье мы расскажем о нашем опыте запуска бета-тестирования приложения «Пятёрочка». Поговорим о том, как мы сделали это в сжатые сроки, а также зачем и почему это вообще было нужно. И, естественно, расскажем про самое интересное — где мы облажались, что у нас в итоге получилось и как это можно переиспользовать.
Надеемся, наш опыт поможет вам запускать похожие процессы более эффективно.
Немного предыстории
Мы долгое время жили без бета-тестирования — не было такой потребности. У нас уже были сложившиеся процессы тестирования, но они существовали в разных командах. В основном внутри команды разработки. Мы проходили тест-кейсы, запускали автотесты и постепенно раскатывали новые версии, анализируя важные метрики приложения. Иногда ловили баги в проде (редко что-то новое всплывало), а обратную связь собирали через NPS, качественными и количественными исследованиями.
Но когда мы начали переезд приложения «Пятёрочка» на новую технологию Backend-Driven UI, понадобился дополнительный инструмент. Такой, который позволял объединить всё под единым процессом. И бета-тестирование подходило лучше всего.
Чтобы быть на одной волне, давайте проясним, что такое бета-тестирование
Бета-тестирование — это один из этапов разработки, где приложение тестируется до официального релиза реальными пользователями. Бывает открытым, доступным для всех желающих, и закрытым — для ограниченного числа пользователей.
Backend-Driven UI — это концепция разработки приложений с интерфейсом, когда описываются элементы, состояния и анимации на бэкенде — и передаются с сервера без привязки к версии приложения.
После перехода на технологию Backend-Driven UI наш главный экран (пока только главный) стал состоять из виджетов, которые управляются через админку. UI приложения можно обновлять когда удобно и так часто, как хочется, хоть каждый час. Для пользователей это изменение осталось невидимым, но нам помогало закрыть сразу несколько целей.
Ожидания
Поскольку были сделаны большие технологические изменения, мы хотели понять, что не наделали багов, которые не отловили у себя на внутреннем тестировании. Конечно, 100-процентную «дезинсекцию» в короткие сроки не проведёшь, но это и не входило в наши цели.
Вот цели, которые мы перед собой поставили:
Во-первых, мырассчитывали выявить самые критичные, сложно воспроизводимые баги и как можно больше поправить до официального массового релиза.
Во-вторых, хотели внедрить процесс регулярного бета-тестирования во все продуктовые команды и доставлять более качественные релизы на прод. Это могло облегчить командам жизнь. Им больше не пришлось бы тратить свои ресурсы на тестирование и сбор обратной связи о новых фичах.
В-третьих — построить комьюнити лояльных бета-тестировщиков. Мы не ставили количественную цель. Для начала нам было важно посмотреть конверсию в разных условиях, на разных группах.
И последнее — собрать репрезентативную выборку обратной связи о фичах. Главное было проверить, насколько содержательную и полезную обратную связь мы получим и сможем ли её в дальнейшем использовать.
Чтобы реализовать наш бета-тест, мы выделили четыре основных этапа:
Сначала запустить закрытое тестирование на сотрудников компании, а потом открытое — на пользователей приложения, и сравнить результаты.
Создать канал коммуникации, чтобы это провернуть. Поэтому мы собирались сделать чат в Telegram, в котором тестировщики могли бы общаться и задавать вопросы, а мы бы их координировали.
Сделать инструмент, по которому мы доставляем бета-версии до пользователей, то есть настроить TestFlight и Google Play Market и добавить туда всех пользователей.
Создать канал обратной связи, по которому пользователи смогут репортить нам о багах и своём опыте.
В идеале получался такой процесс со следующими этапами:
Для достоверных результатов нам были важны только активные пользователи. Такие, которые оценивали товары, переходили в другие разделы приложения, играли в игры, участвовали в акциях и оформляли доставку. Они должны были делать что-то одно, либо всё из вышеперечисленного в течение трёх последних месяцев.
И реальность
Всё вышло не совсем так, как мы планировали. Мы хотели не только получать обратную связь внутри приложения, но и строить там весь путь бета-тестировщика: приглашать, собирать обратную связь и баг-репорты. Но оказалось, что для этого потребуется дополнительная разработка на обеих платформах. А это невозможно согласовать в сжатые сроки. Да и на саму разработку понадобился бы определённый период и ресурсы. И нам пришлось собирать информацию через опросы. Сначала делать опросники на нашей внутренней платформе, а потом рассылать опросы в несколько массовых почтовых рассылок.
Слишком длинный путь
Вариант далеко не идеальный как минимум потому, что клиенты получали опросы через неделю после начала тестирования. Нам приходилось ждать, чтобы набрать базу пользователей и сделать массовые, а не одиночные рассылки. Это помогало экономить ограниченные ресурсы. Но проблема в том, что за неделю пользователь мог что-то забыть.
Помимо этого, получался очень длинный путь. Когда пользователь находил баг или пользовался фичёй в бета-версии, чтобы оставить обратную связь, ему было нужно:
А нам ещё надо было смэтчить пользователя по базе, чтобы убедиться, что он наш.
Из-за такого длинного пути мы недополучили какое-то количество багов и проблем. А значит, не смогли их воспроизвести и даже понять. Ведь все происходило вне нашего приложения, и у нас не было доступа к логам пользователя.
Точечные проблемы
Наши опросы позволяли собирать только текстовые ответы
Респондент не мог прикрепить ни скриншот, ни видео. А попробуйте объяснить текстом что-то сложное. Поэтому мы связывались с респондентами и уточняли детали. Но могли это сделать далеко не всегда. Поэтому и здесь недополучали информацию о багах.
Telegram не стал идеальным каналом для коммуникации
Мы очень хотели создать пространство в Telegram для взаимодействия с нашими бета-тестировщиками, но времени и ресурсов на то, чтобы модерировать канал, разрабатывать Tone of voice и поддерживать всю работу, у нас не было. Плюс массовые каналы связи с точки зрения инфобеза — это риски для бренда.
Пришлось собирать наших бета-тестировщиков в базу TestFlight и Google Play Market и передавать им сборки.
Возникли трудности с поддержкой
Мы очень жалеем, но у нас не получилось поддержать пользователей на все 100%. Так как вся коммуникация шла через почту, выделенной группы поддержки не было. Задачу было некому делегировать, и на все запросы просто не хватало рабочего времени.
А ещё мы частично недопредупредили официальную поддержку. В результате когда некоторые пользователи звонили с вопросом о проведении бета-тестирования, им говорили, что никакого бета-тестирования нет, и это мошенники.
Но и это ещё не всё
Мы собирались анализировать текстовые ответы обратной связи с помощью ИИ, потому что это модно, молодёжно и не надо делать руками. Нам хотелось преобразовать их в количественный формат и получить выводы в формате »30% пользователей одобрили фичу», а «у 60% возникла проблема». И разобрать все полученные ответы по категориям.
К сожалению, ChatGPT не очень хорошо справился с этой задачей. При категоризации много ответов попадали в «другое». А деление на позитивные и негативные ответы производилось по очень поверхностным признакам. Нас это сильно не устраивало. Поэтому, чтобы уложиться во все дедлайны, пришлось всё считать вручную. Для подтверждения вот рабочий блокнот, который мы назвали «Записки сумасшедшего»:
Пришлось потратить очень много времени и сил, но мы всё-таки проанализировали обратную связь, вытащили баги и передали в разработку. Поэтому можем поговорить о том, какую пользу мы получили.
Что у нас получилось
Чтобы вы немного отвлеклись, отгадайте загадку:»160 тысяч человек получили от нас письма с опросами. Сколько из них откликнулись на наши письма и прошли опрос?».
Конверсия ~1%
Это примерно 1 500 участников. В это число входит две категории: «без баллов» и «с баллами». В первую группу мы приглашали «просто за спасибо». А участникам второй пообещали 1 000 Апельсинок — так называются бонусные баллы в Пятёрочке. В итоге у нас получились вот такие цифры:
Стоит отметить, что обратная связь с баллами собиралась гораздо быстрее: за сутки мы получили больше ответов, чем без баллов за неделю. Но в большинстве случаев она оказалась не сильно содержательной. Пользователи, которые приходили за вознаграждением, чаще всего писали что-то общее, либо ругательства, либо стихи, либо ставили прочерки. Среди ответов попадались полезные, просто их было гораздо меньше.
В итоге мы выявили 36 массовых проблем и хотелок. Из них 10 критичных.
Здесь можно видеть самые критичные и интересные штуки, которые мы бы, возможно, не отловили, если бы не проводили бета-тестирование. Поэтому польза явная.
Помимо этого, мы починили ещё две фичи, которые тестировали на бете.
Первая. Раньше покупатель приходил в магазин, открывал приложение и хотел отсканировать свою карту лояльности. Для этого ему дополнительно приходилось нажимать на лупу. Это было не слишком удобно и занимало дополнительное время. Поэтому мы сделали так, что карту не надо было больше увеличивать. Она стала доступна для сканирования сразу на главном экране.
Большинству бета-тестировщиков это понравилось, но на маленьких экранах с низкой яркостью карта лояльности по-прежнему не всегда сканировалась. Поэтому просили сделать возможность раскрывать штрихкод на весь экран, а также чтобы при этом происходило автоматическое увеличение яркости.
Вторая. Промокоды в приложении были написаны на баннерах — приходилось их запоминать и вводить в корзине, часто люди просто забывали это сделать. Мы сделали возможность скопировать промокод (на картинке это красный баннер с кнопкой). Но во время тестирования оказалось, что не все попадают пальцем по промокоду. Поле было слишком маленьким.
Так бета-тестирование помогло получить фидбэк и исправить эти проблемы.
Что мы хотим в будущем
Несмотря на определённые проблемы, нам понравилось проводить бета-тестирование. Результаты себя оправдывали, и мы решили прийти к более красивому процессу:
Нам нужен общий канал коммуникации с нашими бета-тестировщиками, чтобы не терять обратную связь и получать все репорты о багах. Так мы закроем все точечные проблемы, которые, по сути, сводятся к отсутствию нормального канала коммуникации, и будем более успешно развивать комьюнити.
Наш бета-тест показал, что очень важно доставлять задания пользователям не через почту, а напрямую в приложении. Конечно, ещё нужно продумать канал обратной связи, по которому они будут делиться своими впечатлениями.
И, конечно же, очень хочется переложить обработку результатов на нейронку, чтобы не заниматься этим вручную. Её уже делает для нас соседняя команда. Это наш будущий процесс, к которому мы стремимся.
Итоги
Мы начали собирать своё комьюнити, где уже практически 3 000 человек.
Ускорили сбор обратной связи о новых фичах и отловили редкие баги, которые могли бы повлиять на выручку компании.
Если вы тоже хотите сэкономить ресурсы тестирования или исследований, протестировать ваш продукт на огромной ферме устройств без лишних затрат или на разной географии, вы можете пойти нашим путём. Только без наших ошибок.
Напоследок хотим поделиться главным инсайтом, который получили при бета-тестировании ↓
Чем с большим количеством людей из соседних команд мы обсуждали свою, казалось бы, сложную задачу, тем больше простых путей её решения мы находили. Оказывается, у разных людей разные возможности, как бы странно это ни звучало. И благодаря такому общению мы нашли пути, о которых вообще не могли подумать. А это всегда огромный драйв!
P.S. В эту статью мы вшили пасхалку с возможностью получить приз. Желаем удачи трём самым внимательным читателям!