Профессиональная конференция разработчиков высоконагруженных систем

Лечим flaky тесты в режиме blackbox

Бэкенд, теория программирования

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Флакающие тесты сами по себе проблема, а в монорепе эта проблема проявляется особенно остро. В докладе расскажут с помощью каких техник можно кратно уменьшить количество таких тестов.

Целевая аудитория

Разработчики и тестировщики, желающие починить flaky в своём проекте, и снизить в разы % сборок, упавших от flaky. В докладе расскажем про лечение flaky на примере монорепы и сборок с юнит-тестами. Но решения подходят и для небольших репозиториев, и для более высокоуровневых тестов (например, e2e).

Тезисы

Бэкенд Яндекс Вертикалей живёт в монорепе. В ней четыре миллиона строк кода, за которые ответственны 15 команд, и эти числа постоянно растут.

Flaky тесты — наша болезнь роста. С ней концепция 100% зелёных тестов становится проблематичной, т.к. юнит-тесты всё время флакают и краснят билд.

Мы, как команда монорепы, эффективно решили проблему с flaky тестами всех наших команд, не разбираясь детально с каждым проблемным тестом — в режиме blackbox. Мы пришли от кошмарных >= 5% фейлов сборок от flaky — к приятным <= 1%.

Слушатели узнают про эффективные способы борьбы с flaky тестами — в первую очередь, карантин. И поймут на нашем опыте, какие у этих способов есть подводные камни, и как их обходить.

Евгений Веретенников

Яндекс Вертикали

Я руковожу командой монорепозитория бекэнда в Яндекс Вертикалях. Мы делаем Bazel-монорепу для сотни Scala-разработчиков. Мы помогаем разработчикам быстрее:
- собирать код;
- выкатывать сервисы в тестинг и прод;
- обеспечивать наблюдаемость работы сервисов.

Также, я являюсь Scala-амбассадором Вертикалей. Представляю компанию в русскоязычном Scala-сообществе, а также организую Scala-митапы и частенько выступаю.

Яндекс Вертикали

Часть Яндекса, которая занимается сервисами объявлений. Сейчас это: Авто.ру, Недвижимость, Аренда, Путешествия и Услуги. Все вместе это: • тысяча человек, • сотни сервисов, • миллионы пользователей, • десятки тысяч RPS.

Видео