Уровень 11

A/B-тестирование

Давай попробуем узнать что такое A/B-тестирование.

Итак, A/B-тестирование (англ. A/B testing, Split testing) — изначально метод маркетингового исследования, суть которого заключается в том, что контрольная группа элементов сравнивается с набором тестовых групп, в которых один или несколько показателей были изменены, для того, чтобы выяснить, какие из изменений улучшают целевой показатель. Примером может служить исследование влияния цветовой схемы, расположения и размера элементов интерфейса на конверсию сайта.

Да ладно, не пугайся, сейчас я все подробно тебе объясню.

Как работает А/Б тестирование
Эксперименты

Изначально A/B (звучит как а-бэ) тестирование было придумано продакт менеджерами для повышения конверсии проекта путем выбора оптимального UI и функционала самими пользователями. Например, все входящие на сайт users разделяются на две фокус группы (процентное соотношение может быть любое, например 10% и 90%). В этом случае происходит голосование рублем т.к. выживет тот функционал, который принесет больше прибыли/кликов/использований. Казалось бы, если это интересно менеджерам, причем тут тестировщики?

В моей компании 80% функционала выходит под a/b тестом либо экспериментом и тестировщику нужно уметь иметь дело с ними.

Эксперименты отличаются от стандартного сравнительного (А/Б) и многовариантного тестирования.

Эксперимент имеет только одну новую версию, которая должна заменить предыдущую.

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

 
Пример A/B теста

Я же говорил, это совсем не сложно, если постепенно двигаться к цели. Хорошая работа, тестеровщик!

Так выглядит вариант А

Так выглядит вариант Б

 
A/B тестирование

Знания эти понадобятся  тебе, без них не ощутишь ты силу тестирования, юный тестировщик...

A/B тестирование очень эффективный маркетинговый инструмент, который позволяет хорошо изучить целевую аудиторию сайта; то, что  побуждает их покупать и что, наоборот, отталкивает.

 

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

 

Давайте представим, что мы работаем над интернет-магазином. У нас есть идея новой страницы билинга, немного измененной. Но мы не уверены, что она понравится пользователям больше, чем текущая.

 

Что же делать в таком случае? Если просто заменить страницу на новую, это может отпугнуть часть старых клиентов, которые уже привыкли в существующей, к тому же не факт, что это новое понравится пользователям. В таком случае, чтобы  протестировать (то есть проверить действительно ли понравится новая страница пользователям, и принесет ли это прибыль магазину) мы просто выкатываем обе версии одновременно. То есть пускай 50% случайно выбранных пользователей будут видеть старую билинг страницу, а другие 50% будут перенаправляться на новую. Числа и вариант срабатывания даны для примера.

 
Тестируем страницы

При эксплуатации a/b теста для страницы биллинга выяснилось, что конверсия успешных покупок для варианта дизайна "А" составила 23%, в то время как для варианта "B" всего 11%. И дрону понятно что для всех пользователей откроют дизайн А.

 
Мультивариантное тестирование

Часто-густо A/B тест не ограничивается двумя различными моделями дизайна или поведения. Тогда состояния функционала можно описать как a/b/n... Кроме того тестироваться могут различные компоненты на одной и той же странице. Такое тестирование называется мультивариантным. Отличается оно от a/b тестов большим количесвом вариаций и компонентов.

В мультивариантном тесте могут участвовать до десяти полноценных версий одной страницы, для каждой из которых выделяется отдельный URL либо эксперимент включается каким либо параметром (обычно URL параметр или cookie запись)

 
Жизненный цикл A/B теста

      Гипотеза

«Если добавить опцию поиска эко-отелей конверсия возрастет»

Уточняем/аргументируем ожидаемое улучшение

«Количество людей, желающих приобрести номер в эко-отеле, возросло на 10% за последние полгода. Если мы упростим поиск таких отелей на нашем сайте, это может увеличить количество бронирований на 2-7%»

Готовим две-три версии  одной формы

«Версия 1: текущее состояние формы поиска – без этой опции;

Версия 2: опция в виде чекбокса;

Версия 3: ссылка на список всех эко-отелей»

     

             Релизим

 

Анализируем результаты

«Отдел аналитиков говорит, что общее количество проданных отелей возросло на 5%, именно благодаря всплеску продаж комнат в эко-отелях»

Оставляем версию,  которая принесла больше пользователей/денег

"Версия Б – опция в виде чекбокса – в жизнь на 100%"

Как тестировать мультивариантный функционал?
  • Функциональное тестирование ВСЕХ новых версий

 

  • Регрессивное тестирование - это все, что может быть затронуто a\b тестом (тест включен)

 

  • При отключении теста все функционирует нормально (случай отката)

 

  • Тестирование отчета a/b теста (опционально)

     

Примеры a/b тестирования в интернет магазине

Красным выделены те блоки, которые находятся a/b тестированием. Разные пользователи видят разный дизайн этих блоков

Триггеры a/b тестов
  • Первая регистрация

 

  • Страна пользователя (ip adress)

 

  • Язык браузера

 

  • % от всех зарегистрированных, вошедших, посетивших и тп.​

  • Прочие бизнес параметры (например отсутствие установленного платного приложения)

 

Тестирование:
  • Удалить/отредактировать cookies

 

  • Use VPN

 

  • Сменить язык

 

  • Метод проб и ошибок, научный тык, скрипт​

 

 
 
 

Впереди у нас еще много вопросов в которых следует разобраться. Уверен что ответы должен знать каждый уважающий себя тестировщик. А ты же хочешь им стать?

Где хранится информация о a/b тесте ?
  • Запись в cookies

 

  • Backoffice параметры

 

  • Параметр в URL

 

  • БД сервера (где угодно на серверной части)

 

Что тестировать?
  • Соответствуют ли требованиям разработанные версии

 

  • Корректно ли выставлено процентное соотношение траффика

 

  • Отслеживаются ли версии

 

  • Видит ли пользователь в рамках одной сессии только одну версию элемента

Не нужно

 

  • Тестировать все комбинации версий разных элементов на странице

Эксперименты

Эксперименты - это почти то же, что и A/B тесты, но в роли А варианта выступает текущий функционал, а в роли B - выступает новый функционал.

 

Зачем это нужно?

 

Для того, чтобы опробовать и протестировать новый функционал с минимальным влиянием на активных пользователей. Эксперимент обычно включается дополнительным параметром в запросе на загрузку веб страницы:

 

http://editor.wix.com/html/editor/web/renderer/edit/c781446a-0938-46b7-9b96-61eefcb14974?metaSiteId=a79b49ad-a941-49fe-9b89-6fb3d712dead&editorSessionId=53CA23B0-A49D-4AEC-A739-413D52C61758&experiments=imageFilters

 

При добавлении данного параметра cрабатывает механизм открытия кода, и вы видите новый функционал.

 

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

 

Пример:

Эксперимент выключен
Эксперимент включен
Для чего нужно A/B тестирование?

Чтобы достичь хороших результатов нужна практика, практика и еще раз практика. Ну и конечно же, знания с чем ты работаешь. Интересно же узнать для чего тебе а/b тестирование?

  • A/B тесты применяются почти во всех современных компаниях

 

  • Эксперименты с кодом создают гибкую и безопасную методику разработки.

 

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

 

  • C помощью экспериментов можно варьировать функционал для разных целевых групп

Какие минусы?
  • Обилие экспериментов заставит вас попотеть, прежде чем вы выясните, какой именно из них конфликтует с вашей новой фичей

 

  • Если вы забыли включить a/b test на 100% или он вышел параллельно вашей фиче, могут быть неприятные сюрпризы

 
 
Как тестировать?
  • Убедится что ваш эксперимент действительно включен. Не всегда эффект видим наглядно, иногда приходится копаться в коде

 

  • Протестировать новый функционал (соответствие требованиям, интеграционное тестирования и пр.. )

 

  • Регрессионное тестирование старого функционала с включенным экспериментом

 

  • Взаимодействие всех текущих экспериментов. Включить все активные и готовящиеся к запуску эксперименты и провести регрессионное тестирование.

 

  • Возможность выключения эксперимента без критических последствий (пользователи ничего не почувствуют)

 
Сюрпризы

Важно  добиться статичности тестов и версионированного функционала при регрессионном тестировании и убедится в этом. Семь раз проверьте с какой из версий вы имеете дело перед тем как начать тестирование. Очень обидно осознать что вы по ошибке протестировали два раза одну и ту же версию "А" вместо "А", затем "Б". Или проверили регрессионно функционал без выключенного эксперимента. Не достаточно просто ввести триггер переключения, а важно воочию убедится что он работает (вы видите старый либо новый функционал или точно знаете что нужные файлы загрузились если эксперимент не явный)

Вариант решения – применение «выключателя» версионности функционала, то есть проводить тестирование только при одном включенном эксперименте: a/b tests > all to B

Что автоматизировать?
  • Контрольные версии

 

  • Версию, что «победила» и включается на 100%

 

  • Или все версии – если они долгожители

Отличные новости падаван, у нас скоро вечеринка! И по этому поводу Магистр Оби Ван решил открыть свой онлайн бар. Чтобы узнать какое меню больше понравится посетителям мы запустили a/b тест, с разными вариантами оформления онлайн заказов.

Наслаждайся горячительными напитками: 

В баре А

Или в баре Б

Описание: в каждом из баров есть онлайн оформления заказов с доставкой. Бары должны быть идентичны и отличатся только дизайном заказов.

Твоя задача:

1. Выяснить различия в функционале и описать его в свободной форме

 

2. Найти баги на каждом из сайтов. Тест репорт необходимо заполнить по стандарту уровня 5, обязательно указав версию.

3. Составить баг репорт, а также чек-лист проведенных тестов (просто запиши что тестировать для выявления отличий, весь сайт описывать не нужно)

Мы ждем твои замечательны баги! Пришли нам их скорее через форму. 

О А/Б тестировании узнал почти всё ты. Вот тебе тест чтоб доказать это самому себе. Самое время столкнуться тебе с темными силами, переходи на 12 уровень после теста

Для перехода на уровень 12, необходимо набрать минимум 13,2 балла (60%)  за задания уровня 11.

 
  • Facebook Social Icon
  • Instagram
  • Vkontakte Social Icon
  • YouTube Social  Icon
  • mail_icon

© 2017 Galaxy QA Academy. All rights are protected.