Targeted Test Selection Approach in Continuous Integration

2509.10279v1 cs.SE, cs.LG 2025-09-16
Авторы:

Pavel Plyusnin, Aleksey Antonov, Vasilii Ermakov, Aleksandr Khaybriev, Margarita Kikot, Ilseyar Alimova, Stanislav Moiseev

Резюме на русском

## Контекст В современном программном развитии тестирование изменений (change-based testing) играет ключевую роль в обеспечении качества кода. Однако при увеличении кодовых баз и росте временных тестов становится все сложнее эффективно управлять процессом тестирования, особенно когда разработчики вносят многочисленные коммиты каждый день. Это приводит к неэффективности и повышению затрат на тестирование. Чтобы улучшить ситуацию, мы предлагаем Targeted Test Selection (T-TS) — метод тестирования, основанный на машинном обучении, который позволяет уменьшить время исполнения тестов, сохранив высокую эффективность обнаружения ошибок. ## Метод T-TS использует машинное обучение для выбора наиболее значимых тестов, которые необходимо выполнить для данных изменений. Метод основывается на представлении коммитов в виде Bags-of-Words из измененных файлов. Для улучшения точности выбора также используются дополнительные предиктивные признаки, такие как изменения в файлах с большим баг-треками, а также характеристики измененных файлов (например, объем изменений и расположение изменений в файле). Отличительной чертой T-TS является отказ от использования карт покрытия, что упрощает процесс и увеличивает его скорость. Наш подход включает в себя два этапа: (1) генерация данных для обучения на основе журналов изменений и тестовых запусков, и (2) обучение модели классификации, которая выбирает наиболее важные тесты для каждого коммита. ## Результаты Мы провели эксперименты с T-TS на обоих внутренних и публичных наборах данных. Эти эксперименты показали, что T-TS эффективно выбирает только 15% из всех тестов, что приводит к сокращению времени исполнения тестов на $5.9\times$ и ускорению процесса тестирования на $5.6\times$. Более того, T-TS обнаруживает 95% от всех сбоев, что позволяет существенно уменьшить затраты на тестирование без ущерба для качества. Мы также проверили T-TS в реальной промышленной среде, где он показал свою эффективность, стабильно обнаруживая тесты, которые требуют улучшения или изменения в коде. ## Значимость Предложенный подход может быть использован в различных промышленных секторах, где высока нагрузка на системы тестирования (например, в fintech, ИТ-сервисах, транспортной индустрии). Он позволяет сократить время тестирования, уменьшить затраты на ресурсы и улучшить общую производительность технологического процесса. Инновационная система T-TS может стать важным инструментом для внедрения методов тестирования в промышленном программном обеспечении, улучшая не только эффективность, но и качество работы тестов в целом. ## Выводы Результаты наших исследований показали,

Abstract

In modern software development change-based testing plays a crucial role. However, as codebases expand and test suites grow, efficiently managing the testing process becomes increasingly challenging, especially given the high frequency of daily code commits. We propose Targeted Test Selection (T-TS), a machine learning approach for industrial test selection. Our key innovation is a data representation that represent commits as Bags-of-Words of changed files, incorporates cross-file and additional predictive features, and notably avoids the use of coverage maps. Deployed in production, T-TS was comprehensively evaluated against industry standards and recent methods using both internal and public datasets, measuring time efficiency and fault detection. On live industrial data, T-TS selects only 15% of tests, reduces execution time by $5.9\times$, accelerates the pipeline by $5.6\times$, and detects over 95% of test failures. The implementation is publicly available to support further research and practical adoption.

Ссылки и действия