Российские IT-специалисты на конференции ICSME 2025 в Новой Зеландии
Уникальный метод тестирования программ
Метод автоматизации тестирования и контроля качества программных продуктов Targeted Test Selection (T-TS) был разработан специалистами R&D-центра Т-Технологий во Владивостоке. Он позволяет запускать лишь часть тестов, но при этом находить почти все потенциальные ошибки в коде.
Согласно разработчикам, тестирование новых версий программного обеспечения в компаниях, выпускающих обновления, становится все более длительным и требует значительных ресурсов. На проверку новой версии уходит десятки часов, и требуется работа сотен серверов.
Новый подход позволяет запускать всего 15 процентов полного набора тестов, но при этом обнаруживает более 95 процентов возможных ошибок, вызванных внесенными изменениями в программу. Это позволяет разработчикам быстрее получать обратную связь о проблемах и исправлять их дешевле.
Метод уже был протестирован на программной инфраструктуре Т-Банка, где ежедневно происходит множество изменений в коде и проводится тысячи тестов.
В сравнении с традиционным автоматическим тестированием, новый метод аналогичен работе автомеханика, который проверяет деталь за деталью автомобиль. Впрочем, эффективность первого снижается из-за затрат времени и финансов. С использованием нового подхода же автомеханики заранее знают, какие детали нуждаются в проверке, что сокращает издержки.
Существуют различные способы ускорения тестирования, такие как "карты покрытия кода", которые оценивают, насколько тщательно проверяются различные части кода. Однако такие карты требуют постоянного обновления при малейших изменениях.
Новый метод позволяет избежать дорогостоящих сопоставлений кода и использовать информацию из истории хранилища данных. Система T-TS анализирует изменения в коде, учитывая частоту ошибок, и предсказывает, какие тесты наиболее вероятно обнаружат проблемы при изменениях.
Работа по принципу фильтрации электронной почты подобна методу тестирования. Если письма с определенного адреса часто оказываются спамом, почтовая система проверит их в первую очередь. Точно так же система тестирования прогнозирует, какие тесты наиболее эффективны и не требуют потерю времени на ненужные проверки.
Результаты исследования были опубликованы с авторами, отметив, что метод подходит для всех языков программирования и не требует настройки под каждый проект. Он может быть интегрирован в инфраструктуру любой компании, работающей по принципу непрерывной разработки и обновления программного обеспечения.
Ускорение разработки программного обеспечения
Практическое применение нового подхода помогает организациям значительно сократить время, необходимое для выполнения тестового процесса. Разработчики получают информацию об ошибках быстрее, что облегчает и удешевляет их исправление. Этот метод эффективен даже при работе с обширными и сложными кодовыми базами данных. Например, его можно масштабировать и использовать ведущими финансово-технологическими компаниями. Поскольку он распространяется как открытый исходный код, его легко интегрировать в бизнес и создавать собственные продукты искусственного интеллекта. Разработчики имеют возможность настроить баланс между скоростью работы и контролем качества. Это особенно важно, когда требуется быстрое внедрение обновлений программного обеспечения.