Российские исследователи создали методику автоматизации тестирования и контроля качества программных продуктов, основанную на искусственном интеллекте, которая, в среднем, уменьшает время проверки кода в пять-шесть раз без ухудшения качества.
Созданный учеными подход уже был протестирован на цифровой инфраструктуре одного из крупных российских банков.
«Метод совместим с любым языком программирования и не требует специфической настройки под каждый проект. Принцип его работы аналогичен фильтрации электронной почты: если письма с определенного адреса часто попадают в спам, почтовая система проверяет их в первую очередь, не тратя время на просмотр всей переписки. Таким образом, система прогнозирует, какие тесты с наибольшей вероятностью смогут выявить ошибки при новых изменениях, основываясь на предыдущем опыте сбоев».
Как подчеркивается, многие крупные производители программного обеспечения постоянно выпускают новые версии для улучшения безопасности и функциональности. Однако тестирование каждой новой версии становится все более затратным и времязатратным — на проверку уходит десятки часов и используется мощность сотен серверов, что заставляет ученых и IT-специалистов искать способы оптимизации этого процесса.
Специалисты во Владивостоке разработали подход, который позволяет значительно ускорить этот процесс с помощью системы искусственного интеллекта. Она анализирует исходный код программного обеспечения, выявляет ключевые изменения и подбирает тесты, которые способны выявить более 95% возможных ошибок, возникающих из-за модификаций кода.
Как отмечают исследователи, основное преимущество и новизна их подхода заключается в том, что он позволяет отказаться от дорогостоящих сравнений старого и нового исходного кода. Вместо этого система ИИ анализирует, кто и какие именно файлы в коде изменил, как часто это происходило и насколько часто эти изменения приводили к ошибкам, после чего подбирает набор тестов с учетом прошлых сбоев.
Проведенные учеными тесты на инфраструктуре одного из крупных российских банков продемонстрировали, что новый подход позволяет в среднем сократить время работы всей тестовой системы в пять-шесть раз, и при этом он эффективно работает даже с очень большими и «разветвленными» кодовыми базами. Исходный код нового подхода для тестирования был опубликован в открытом доступе, что позволяет любому желающему им воспользоваться.
Фото: hi-tech.mail.ru

