Ваша компания использует генеративный AI в продуктах, проектах и бизнес-процессах? Смело рассказывайте о своем опыте на страницах проекта Generation AI! Правила отбора
Как в команде автотестировщиков РСХБ.Цифра увеличили скорость работы в 2 раза
Компания
РСХБ.цифра — это бренд, объединяющий все технологические решения Россельхозбанка и его дочерних компаний. Команда занимается цифровой трансформацией крупнейшего сельскохозяйственного банка России и управляет высоконагруженными системами — АБС, ДБО, процессингом.
Более 3000 человек по всей стране создают и выводят на рынок собственное ПО для банков и госкорпораций, финансовых, страховых организаций и агропромышленных предприятий. 26 программных продуктов их разработки вошли в реестр отечественного ПО.
Апрель 2025
Тестирование
Разработка
Инструменты
LLM
Milvus
Streamlit
Apache AirFlow
Python
Задача
В 2024 году команда РСХБ.Цифра решила ускорить процессы в тестировании с помощью GenAI. В рамках проекта предстояло собрать команду, инструменты, обеспечить работу «провайдера» LLM и внедрить AI в разработку SDET-сервисов, создание UI-автотестов и API-автотестов.
Решение: системный подход к генерации автотестов с помощью LLM
Первым делом команда РСХБ.Цифра занялась подбором провайдера LLM.Нашли практически идеальный вариант, который дает возможность взаимодействовать с широким классом моделей через единое API, имеет классный интерфейс и кучу всяких плюсов.
Сбор команды
Решили не искать уникального специалиста, который умеет и тестирование, и использует LLM. Итог — собрали как классических автоматизаторов, которые раньше занимались тестированием и знают, с чем придется работать, так и специалистов по AI. Заметили, что именно со специалистами уровня Middle и Senior при использовании AI происходит эффект ускорения.
Создание UI-тестов
На этапе написания кода с AI в РСХБ.Цифра пошло ускорение в тестировании. В ряде случаев, используя код фронта, который клиент получает в HTML, можно было получать готовые селекторы.
Протестировали гипотезу по сбору из данных кластеров семантически близких тест-кейсов, чтобы на автоматизацию одного тест-кейса тратить больше времени, а на автоматизацию семантически близкого тест-кейса намного меньше.
Для этого построили векторную базу для тест-кейсов самостоятельно на базе распределенной векторной базы данных Milvus и эмбединговой модели deep VK. Эффект был заметным — появился новый инструмент, который стал частью методики.
В ходе автоматизации тест-кейсов стали использовать подход, который можно назвать воронкой промптов. Если на вершине воронки промпты были абстрактные вроде «определить айдишники», без особых деталей, то потом код проходил ниже по воронке — и промпты усложнялись — например, нужно было написать методы, затем код. А в конце, когда код доходил до низа, появлялась задача форматирования. У каждой команды свои правила оформления кода, который AI послушно исполнял.
Создание API-тестов
При генерации этих автотестов появилась сложность интеграции человеческого кода со сгенерированным AI кодом. Чтобы решить этот вопрос, команда РСХБ.Цифра попросила модель написать вспомогательный код — функционально такой же, как человеческий, но написанный AI.
Вторая задача была связана с единым промптом — команда написала серию промптов и объединила в конвейер DAG (Directed Acyclic Graph) в Apache Airflow. На этой базе был построен такой DAG для управления задачами. Этот граф брал задачу, брал тест-кейс, на входе он получал тест-кейс, информацию преобразовывал и вызывал базовый агент.
После построения эффективного процесса генерации API автотестов построили систему для автоматизации и управления процессами обработки данных: на вход поступает список тест-кейсов, а на выходе инженер получает массу работающих автотестов прямо в кодовой базе.
Технически граф состоит из следующих шагов:
1
Тест-кейс преобразуется в Markdown
2
С помощью ролевого конвейера формируется пустая оболочка автотеста с нужными идентификаторами
3
С помощью ролевого конвейера формируется основное «мясо» автотеста, все действия, описанные в тест-кейсе
4
С помощью ролевого конвейера автотест преобразуется к виду принятого у автоматизаторов (форматирование, отступы, отладочная информация)
5
Автотест вставляется в кодовую базу
6
Производится запуск автотеста
7
Если произошла ошибка, то осуществляется попытка рефлексии и исправления ошибок. Если рефлексия неудачна, то автотест удаляется из кодовой базы
8
Берется следующий тест-кейс
Sdet сервисы
LLM стали использоваться как способ ускорения разработки, не являясь центральным звеном. В качестве фреймворка использовался streamlit. Что стала делать команда?
Получать и преобразовывать тест-кейсы
из TMS в markdown и собирать контекст
Анализировать изменения на фронтенде
за счет записи действий с помощью плагина для chrome. Этот плагин также был создан нашей командой
Проводить векторный поиск тест-кейсов
с отображением семантического сходства
Собирать аналитику по исходному коду
автотестов, для построения трендов и ведения статистики автоматизации
Проводить прозрачное резервирование тест-кейсов
на автоматизацию, чтобы оптимизировать процессы разработки (больше самостоятельности инженеров и меньше вероятности помешать друг другу)
Управлять сущностями автотестов в TMS
за счет этого расширить функциональные возможности системы управления тестированием
Производительность команды автоматизации тестирования РСХБ.цифра за счет AI выросла в 2 раза
Результаты
Опыт РСХБ.Цифра показывает, что при внедрении AI сложным моментом становится человеческий фактор. Но и его можно сделать предсказуемым для AI.
Будущее за теми, кто обладает компетенциями и в тестировании, и в AI. Успех внедрения AI в тестирование во многом зависит от грамотного менеджмента и умения собрать сильную команду, готовую к решению сложных и неоднозначных задач.
Марина Каприз
Заместитель руководителя блока качества в РСХБ-Интех
На положительный исход внедрения генеративного AI оказывают влияние процессы и подходы к тестированию. При низкой цифровизации и прозрачности в компании, AI не сможет раскрыться в полной мере.