Вступить в клуб →
сложнаявопросАвтотесты и CI/CD

Автоперезапуск сделал пайплайн зелёным, а два бага ушли в прод: чем реально снижать flaky

Доля нестабильных тестов в регрессе — 13,5%. Чтобы пайплайн перестал мигать, команда включила автоматический перезапуск упавших тестов до трёх раз. Пайплайн позеленел.

За квартал на прод ушли два дефекта, которые эти тесты ловили примерно в половине прогонов.

Что делать с нестабильностью?

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

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела