Генерация юнит-тестов с помощью LLM: как Одноклассники автоматизировали тестирование

В автоматизировали генерацию юнит-тестов во фронтенд-проектах с помощью LLM, решив проблему рутинного и трудоемкого написания тестов. Исторически акцент в тестовой пирамиде был смещён в сторону e2e-тестов (7,5 тыс. e2e против минимального числа unit-тестов), что снижало эффективность и устойчивость релизов для аудитории в 36 млн пользователей.

Для исправления ситуации команда проанализировала метрики покрытия кода (Code Coverage) и внедрила автоматическую генерацию unit-тестов через LLM, отрабатывающих по промптам и обрабатывающих контекст кода. В качестве решений были опробованы JetBrains AI, ProxyAI, но из-за ограничений и вопросов безопасности выбрали open-source Python-библиотеку Qodo-Cover, обернув её в собственный npm-пакет (@ok/ut-gen) для быстрой интеграции.

Система строит контекст для LLM с помощью обхода импортов (AST), следит за корректностью импортов и убирает дубликаты. Внедрение Zero-shot и Few-shot prompt-инструкций позволило добиться покрытия до 100% на отдельных модулях, а общее покрытие выросло на 20%. Инструмент минимизировал ручной труд и ускорил выпуск релизов, автоматизируя большую часть рутины. В результате Odnoklassniki получили масштабируемое и безопасное решение для автогенерации unit-тестов на LLM.

Читайте также

  1. Deloitte Tech Trends 2026: почему искусственный интеллект требует не автоматизации, а пересборки бизнеса
  2. Всё-в-одном: чек-лист по работе с ИИ и ChatGPT
  3. Эволюция: сможет ли ИИ обогнать человечество?
  4. ИИ и энергетический кризис: как накормить цифрового гиганта, не разрушив планету
  5. Парадокс Солоу 2.0: почему ИИ не приносит быстрой производительности
← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!