surfup

EdTech-платформа онлайн-школы

QA-контур с нуля: релизы перестали ломать прод

Образование · QA · Автотесты · Нагрузочное тестирование
Контекст проекта

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

01 · Задача

Выстроить процесс обеспечения качества с нуля:

тест-стратегия с приоритетами по бизнес-рискам, автоматизация ключевых сценариев, интеграция проверок в CI и нагрузочное тестирование перед пиком сентября. Ограничение — работать без остановки разработки: релизы продолжались каждую неделю, а сентябрь ждать не мог.

02 · Что сделали

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

  • Провели аудит качества: разбор багов за последние полгода, интервью с командами, карта самых болезненных сценариев — оплата, запись на урок, вход в класс, уведомления родителям.
  • Написали тест-стратегию: уровни тестирования, зоны ответственности, definition of done для фич, регламенты баг-репортинга — единые для трёх команд разработки.
  • Автоматизировали критичный путь: e2e-сценарии на Playwright для веб-платформы, API-тесты для бэкенда, smoke-набор перед каждым релизом.
  • Встроили QA-гейты в CI: релиз невозможен без зелёного smoke-набора, полная регрессия запускается nightly, результаты видны всем командам в GitLab.
  • Провели нагрузочное тестирование на k6: смоделировали трафик сентябрьского пика, нашли узкие места и вместе с backend-командой устранили их до сезона.
  • Передали процесс на сторону клиента: документация, регламенты, обучение QA-инженера работе с автотестами и конвейером.

Ключевое решение — приоритизация по бизнес-рискам, а не по «красоте покрытия». Мы сознательно не гнались за стопроцентной автоматизацией: 75% покрытия критичных сценариев дали основную часть эффекта, потому что защищали именно те пути, на которых платформа зарабатывает и теряет клиентов. Остальное закрывается ручной исследовательской проверкой перед значимыми релизами.

03 · Результат

Главный экономический эффект — сдвиг обнаружения дефектов влево: баг, найденный автотестом в CI, стоит в десятки раз меньше бага, замеченного родителем ученика в продакшене. Платформа вошла в сезон с запасом прочности, а команды получили право выпускать изменения часто, не боясь «пятничного эффекта». Отдельный бонус — доверие бизнеса: отдел продаж теперь честно обещает школам-партнёрам стабильную платформу в пик записи.

04 · Ключевые результаты
ПоказательРезультат
Критические баги в проде5–7 в месяц → 1–2 в квартал
Регрессия перед релизом3 дня вручную → 4 часа автотестами
Сентябрьский пик нагрузкиИнциденты каждый год → 0 инцидентов, без деградации
Момент обнаружения дефектаЧаще всего в проде → Автотесты ловят до релиза

Показатели перенесены из исходных материалов кейса. Период указан там, где он зафиксирован в источнике.

Четыре месяца работы
критических бага в квартал (было 5–7 в месяц)
1–2
регрессия автотестами (было 3 дня вручную)
4 ч
ключевых сценариев покрыто автотестами
75%
инцидентов в сентябрьский пик
0
Покрытие и скорость проверки
Ключевые сценарии под автотестами
До0%
После75%
Критические баги в продакшене
До5–7 в месяц
После1–2 в квартал
меньше — лучше
Регрессия перед релизом
До3 дня
После4 часа
меньше — лучше

Шкала условная: 3 дня приняты за 72 часа. Для длины полос месячный диапазон багов переведён в квартальный умножением на три; сравниваются верхние границы.

QA-гейты в CI
  1. 01Коммит
  2. 02Smoke-наборбез зелёного релиза нет
  3. 03Релизеженедельно
  4. 04Nightlyполная регрессия
Дальнейшее развитие

Что мы рекомендуем платформе как следующий шаг:

  • Визуальное регрессионное тестирование — автоматическая проверка вёрстки уроков, писем и личных кабинетов.
  • Фабрика тестовых данных — генерация реалистичных учеников, групп и платежей под каждый прогон.
  • QA в проде — feature flags и канареечные релизы для постепенного включения новых функций.
Отзыв клиента
Мы перестали бояться релизов. Раньше каждая пятница могла обернуться разбором жалоб, теперь выпуск в прод — рутинная процедура на пятнадцать минут.

— CTO онлайн-школы

Последние материалы

Все материалы

Практические статьи и гайды SurfUp.

Гайд · 10 мин

Страницы «что такое…» и ИИ-ответы: потеря кликов или спрос

Визиты справочного раздела банка упали на 24% при спросе −13%. Как отличить потерю кликов из-за ИИ-блока от падения спроса и измерить это на своих данных.

Читать
Гайд · 8 мин

Трафик упал после апдейта Google

Как понять, что трафик упал из-за апдейта Google, а не из-за сезонности или поломки. Хронология апдейтов 2026, проверка из шести вопросов и план на первые 14 дней.

Читать
Гайд · 9 мин

Спрос упал или сайт потерял: как сверять трафик с Wordstat

Спрос на вклады упал на 75%, трафик на 37%; по картам спрос −35%, трафик −63%. Как сверять трафик со спросом и не принять рынок за проблему сайта.

Читать