Новый метод ускоряет тестирование программ — до 6 раз и без сложных вычислений
Новости 8 сентября 2025

Новый метод ускоряет тестирование программ — до 6 раз и без сложных вычислений

Далее

Исследователи 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