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

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

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

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

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

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

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

Тезисы

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

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

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

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

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

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

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

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

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

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

Видео