Команда автоматизации тестирования РСХБ представила CheckMateDB — модульную платформу, предназначенную для оптимизации регрессионного тестирования на Java. Продукт призван решить проблему «инженерной рутины», когда автоматизаторам приходится тратить значительное время на сбор тестовых данных, написание Criteria, выстраивание цепочек PageHelper и стабилизацию прогонов.
Архитектура и работа с данными
CheckMateDB разделяет ответственность между несколькими слоями. Первый — слой подключения и сессионного контекста, который обеспечивает валидацию параметров БД и управление доступом. Это критически важно для предотвращения рассинхрона между кодом и реальными данными.
Для работы с данными в платформе реализован модуль SQL-консоли. Он поддерживает асинхронное выполнение запросов, что позволяет выполнять длительные операции без блокировки пользовательского интерфейса. Также предусмотрен Table View с механизмом lazy loading для быстрой проверки данных без написания сложного SQL. Это позволяет использовать платформу даже нетехническим специалистам.
Генерация кода: от классики до AI
Процесс создания тестов в CheckMateDB разделен на два этапа. Сначала работает Classic CodeGen — детерминированный генератор, который создает предсказуемый каркас тестов на основе метаданных БД и библиотеки query-criteria-builder. Это создает надежный фундамент для последующей интеллектуальной доработки.
Вторым этапом выступает Codegen Workspace Agent. Это runtime-контур, где AI работает в контексте реального проекта. Агент проходит через управляемый пайплайн: инициализация, сбор контекста, генерация, валидация и применение изменений. Важной особенностью является принцип human-in-the-loop: любые изменения сначала отображаются в режиме preview, и только после ручного подтверждения вносятся в проект.
Инфраструктура для AI
Для управления моделями внутри платформы создан слой Tools AI. Он выступает в роли единого AI Gateway, который управляет конфигурациями моделей, обеспечивает стриминг ответов через SSE и гарантирует безопасность API-ключей. Такой подход превращает LLM из внешнего сервиса в управляемый инфраструктурный слой, который работает в едином контексте с остальными модулями системы.
