Ответ вслух Senior Ожидания и флаки обновлено

Как вы боретесь с флаки

Вопрос

В вашем наборе 10% тестов нестабильны, команда перестала доверять CI. Что будете делать?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

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

Что должно прозвучать в ответе

  • Измерить: история прогонов, какие тесты флакают и как часто

  • Карантин известных флаки с владельцем и сроком, чтобы вернуть доверие к билду

  • Разбор по причинам: ожидания, данные, порядок, стенд, время

  • Инструменты: многократный прогон, трейсы, видео, логи сервера

  • Профилактика: правила ревью (без sleep, свои данные), линтеры

  • Ретраи только как временная мера с отчётом о flaky

Что могут спросить следом

  • Как отличить флаки теста от флаки продукта?
  • Как убедить команду выделить время на починку?
  • Какую долю флаки вы считаете допустимой?

Разбор

Образцовый ответ: «Сначала цифры: собираю историю прогонов и нахожу тесты, которые на одном коммите и падали, и проходили. Самые частые переношу в карантин: они крутятся, но не блокируют мерж, у каждого есть владелец и задача. Так команда снова верит красному билду. Дальше разбираю причины: чаще всего это ожидания времени вместо состояния, общие данные, зависимость от порядка, нестабильный стенд. Воспроизвожу прогоном одного теста 50 раз и смотрю трейс. Бывает, что флаки это настоящая гонка в продукте, такое завожу как баг. Чтобы не росло снова: в ревью запрещаю sleep и общие данные, ретраи включаю, но отчёт о flaky смотрю каждую неделю»).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.