Исследователи R&D-центра Т-Технологий во Владивостоке разработали новый метод для автоматизации тестирования и контроля качества программных продуктов – Targeted Test Selection (T-TS).
Метод позволяет запускать лишь часть тестов, но при этом находить почти все потенциальные ошибки. На практике это сокращает время проверки кода в среднем в 5,6 раз без потери качества, что особенно важно для крупных компаний с постоянным выпуском обновлений.
Результаты исследования были представлены на одной из ключевых мировых конференций по вопросам развития и поддержки программных систем — ICSME 2025, которая проходит с 7 по 12 сентября в Окленде, Новая Зеландия.
Суть открытия
В крупных компаниях, выпускающих новое программное обеспечение непрерывно, тестирование каждой новой версии становится все более ресурсоемким и затратным — на проверку уходят десятки часов и тратится мощность сотен серверов.

Разработанный подход T-TS уже прошел апробацию на инфраструктуре Т-Банка, где используются тысячи тестов и десятки тысяч изменений в коде ежедневно. Новый метод позволяет запускать в среднем всего 15% от полного набора тестов при этом находит более 95% возможных ошибок, которые могут появиться из-за изменений. Это значит, что разработчики получают обратную связь о проблемах гораздо быстрее, а исправление багов обходится дешевле.
Обычное автоматическое тестирование напоминает работу станции техобслуживания, когда проверяется одна деталь автомобиля за другой. Такой подход гарантирует безопасность, но его эффективность значительно снижается из-за больших временных и денежных затрат.
Существующие способы ускорить этот процесс чаще всего завязаны на специальных картах покрытия кода — автомеханики тоже заранее знают, какие детали может затронуть ремонт, и начинают проверку с них. Но чтобы такие карты оставались актуальными, нужны отдельные ресурсы и время на их «перерисовку» при малейших изменениях.
В чем новизна открытия
В мире уже есть решения, ускоряющие тестирование с помощью машинного обучения, но большинство все же опирается на традиционные методы, например, карты покрытия. Новизна исследования заключается в отказе от дорогостоящих сопоставлений кода, а вся необходимая информация берется из истории самого репозитория.
Новое исследование позволяет отказаться от этих карт и использует статистику прошлых изменений. T-TS анализирует, кем и какие именно файлы в коде менялись, сколько раз это происходило и как часто эти изменения приводили к ошибкам. Для оценки изменений используется принцип «мешка слов» (bag-of-words), широко применяемый в поисковых системах: здесь каждой «единицей» в мешке становится конкретный файл или модуль программы. Дополнительно, T-TS отдельно учитывает ближайшие к тестам файлы, еще больше адаптируясь к вносимым изменениям
Принцип работы можно сравнить с фильтрацией почты: если письма с определенного адреса часто оказывались спамом, почтовая система проверит их в первую очередь, не тратя время на просмотр всей переписки. Так же и с тестами: система прогнозирует, какие из них с наибольшей вероятностью обнаружат ошибки при новых изменениях, опираясь на опыт прошлых сбоев.
При этом метод совместим с любым языком программирования и не требует уникальной настройки под каждый проект. Благодаря тому, что метод находится в открытом доступе, его можно интегрировать в инфраструктуру любой компании, работающей по принципу CI/CD, где скорость релизов критична.
Практический эффект:
- Среднее сокращение времени исполнения тестового конвейера — в 5,6 раз по итогам реального внедрения.
- Разработчики быстрее получают обратную связь об ошибках, значит, их проще и дешевле исправить.
- Метод работает даже при крайне больших и «разветвленных» кодовых базах — можно масштабировать на крупные финтех компании, в том числе в Т-Банк уже внедрил его в процессы.
- Метод с реализованным подходом доступен в виде открытого исходного кода, что позволяет легко интегрировать решение в бизнес и создавать свои ИИ-продукты.
- Возможность гибкой настройки баланса между скоростью и полнотой контроля качества, что особенно актуально для быстрых релизных циклов и крупномасштабных распределенных команд.
Применимость T-TS не ограничивается конкретным стеком технологий или структурой репозитория, благодаря чему любая крупная компания может внедрить эту систему.
Читать далее:
Наша Вселенная прибыла из другого мира: теория мироздания оказалась неверна?
Сверхзвуковой «Конкорд» возвращается: почему в США поменяли мнение о самолете
Новый вирус пугает пользователей соцсетей: «горло будто порезали лезвием»
Обложка: rawpixel-com