Максим Щепалин
Компания: Тинькофф
По мере роста команды и продукта неумолимо начинает расти количество фич, которые находятся в разработке.
При всём при этом бизнес хочет все быстрее и быстрее доставлять новые функции до пользователей, а значит, вы должны каким-то образом ускорять регресс.
В этом нам здорово помогают автотесты. Но что делать, когда их становится слишком много? 2, 3, 4, 5, 10 тысяч тестов, и всё это нужно где-то запускать прямо перед регрессом!
А как это все поддерживать?
В этом нам помогает импакт-анализ — инструмент, который позволяет четко понимать, какой из тестов должен быть запущен на пулл-реквесте.
Максим как раз написал такой инструмент — с помощью Jacoco и EmmaRT мы инструментируем байт-код, составляем карту загружаемых классов и методов во время исполнения теста, а затем, на пулл-реквесте, парсим git diff и понимаем, какие именно UI-тесты нам нужно будет запустить.
Компания: Тинькофф
Компания: Тинькофф