Перейти к основному содержимому

Отладка

Есть два инструмента, которые помогут проверить, что платформа правильно раздаёт фичи конкретным пользователям, а полученные клиентом фичи правильно обрабатываются:

  • Ручной выбор группы
  • Диагностика сплитования

Ручной выбор группы​

Ручной выбор группы (замещение группы) предназначен для того, чтобы предопределить результат расчета фичи для какого-то одного параметра пользователя. Группа определяется именно для одного параметра: userId или visitorId.

Предопределив группу пользователю до запуска эксперимента, можно удобно протестировать все группы эксперимента.

Предопределив группу пользователю во время проведения эксперимента, можно исключить пользователя из эксперимента, если ему не нравится тестируемая функциональность.

Функционал работает во всех статусах эксперимента, кроме архивного.

Диагностика сплитования​

Диагностика предоставляет возможность проверить результат запроса группы для определённого набора параметров. Рекомендуется по возможности заполнять все параметры.

Если в диагностике сплитования стабильно возвращается корректная группа, но при этом есть проблема с тем, что пользователи не попадают в эту группу - значит есть проблема с интеграцией на стороне клиента.

Поиск проблем​

Пользователь не видит функционал своей группы

В этом случае нужно предпринять несколько шагов:

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

В эксперименте не экспоузятся пользователи

Это довольно серьёзная проблема, так как после установления причины и исправления данные об участии восстановить не получится. Возможно эксперимент придётся начинать сначала.

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

Метод exposeManyV2 всегда отвечает ok: true, а события обрабатывает уже после ответа. Поэтому по ответу метода нельзя понять, дошло ли событие. Событие теряется без ошибки, если:

  • experimentLabel указан с ошибкой или эксперимент уже завершён;
  • platform или randomizationUnits отличаются от тех, что передавались в getFeaturesByTag.

Пользователь, которому группа выбрана вручную (см. «Ручной выбор группы» выше), получает фичу, но участником эксперимента не становится и в отчёт не попадает.

Проверить интеграцию на завершённом эксперименте не получится: события по нему больше не принимаются. Чтобы проверить интеграцию после исправления:

  1. Перезапустите эксперимент. На странице эксперимента нажмите кнопку с иконкой копирования и выберите «Перезапуск текущего». Откроется форма нового эксперимента с настройками текущего. Запустите его: у нового эксперимента будет новый номер.
  2. Сделайте тестовый показ фичи без ручного выбора группы.
  3. Через несколько минут откройте у нового эксперимента вкладку «Мониторинг», раздел «Участники эксперимента». В фильтре «Событие» выберите Exposed, в фильтре «Причина» - «Случайно». Если интеграция работает, в таблице появятся тестовые пользователи с группой, в которую они попали.

Пользователь "мигает", т.е. при последовательных запросах попадает в разные группы

Есть один валидный сценарий, когда такое возможно. Пользователю через выбор группы были назначены для участия разные
группы на разные параметры. Например, на userId - test, а на visitorId - control. Такую проблему можно отследить через диагностику и выполнить сброс настроек в выборе группы.

Пользователь получает фичу группы, хотя по условию фильтрации по версии приложения не должен

В этом случае стоит искать второй эксперимент с таким же лейблом как тот, в котором пользователь не должен принимать участие.

!!! warning "Старайтесь не создать эксперименты с одинаковыми лейблами"