Что такое A/B-тестирование и каковы его основные принципы?

«Что такое A/B-тестирование и каковы его основные принципы?» — вопрос из категории Техники тест-дизайна, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Основные принципы и этапы:

  1. Формулировка гипотезы: Четкое предположение (напр., "Изменение цвета кнопки с синего на красный увеличит конверсию на 5%").
  2. Определение метрики: Выбор одной ключевой метрики для оценки (CTR, конверсия в покупку, средний чек).
  3. Создание вариаций: Версия A (контрольная) и версия B (тестовая).
  4. Рандомизация и разделение трафика: Пользователи случайным образом распределяются между группами (часто 50/50).
  5. Сбор данных: Накопление достаточного объема статистических данных.
  6. Статистический анализ: Проверка, является ли разница между группами статистически значимой.

Пример анализа значимости на Python:

import numpy as np
from scipy import stats

# Допустим, у нас данные о конверсии (1 - конвертировал, 0 - нет)
# Группа A (контрольная): 120 конверсий из 2000 пользователей
# Группа B (тестовая): 150 конверсий из 2000 пользователей
conversions_a = np.array([1] * 120 + [0] * (2000 - 120))
conversions_b = np.array([1] * 150 + [0] * (2000 - 150))

# Проводим t-тест для независимых выборок
t_stat, p_value = stats.ttest_ind(conversions_a, conversions_b)
print(f"p-value: {p_value:.4f}")

# Интерпретация: если p-value < 0.05 (уровень значимости),
# отвергаем нулевую гипотезу и считаем разницу значимой.
# В данном случае p-value ~0.02, значит, версия B лучше.

Важные аспекты:

  • Длительность теста: Тест должен длиться полный бизнес-цикл (неделя/месяц), чтобы учесть сезонность.
  • Единственная изменяемая переменная: В идеале между A и B должно отличаться только одно свойство для чистоты эксперимента.
  • Инструменты: Google Optimize, VWO, Split.io, а также собственные реализации на бэкенде.