Image

Как мы собрали генератор тест-кейсов с GenAI под капотом

11dfa10f41634ad1bb513381f33adaef

В этом тексте расскажем, как мы за две недели собрали MVP генератора тест-кейсов на базе GenAI для компании IT Media Service. До этого ребята вручную писали сотни тест-кейсов и автотестов к каждому релизу, тратили на это тонны времени, а автоматизация требовала улучшения. 

Команда заказчика пришла к нам с гипотезой: можно ли сделать так, чтобы вся эта рутина делалась почти автоматически — загрузил аналитику и макеты, а дальше система сама подготовит тест-кейсы, предложит автотесты и ничего не забудет. В процессе пришлось решать как архитектурные, так и сугубо инженерные задачи — от выбора стека до интеграции с нейросетями и Vision API, плюс сделать UI, которым реально удобно пользоваться.

Дисклеймер: прежде чем мы начнем, рекомендуем подписаться на «Голос Технократии» — мы регулярно рассказываем о новостях и новых релизах в сфере GenAI, а также делимся полезными мастридами и актуальными событиями.

Постановка задачи и ограничения

IT Media Service — компания, которая помогает другим бизнесам поддерживать порядок и прозрачность в ИТ-проектах. Казалось бы, автоматизация у них должна быть на максималках, но в реальности тестовая документация и автотесты оставались на ручном управлении. Каждый новый релиз — новые фичи и сценарии, обсуждения, правки, согласования между аналитиками и тестировщиками. Всё это оформлялось вручную: от написания тест-кейсов до подготовки автотестов.

66a104973718b1e94d89fc277399a66b

Классический подход работал на небольших, но по мере роста продукта команда начала тонуть в рутине:

  • проверка новых и старых сценариев каждый раз занимала всё больше времени,

  • появлялась путаница в версиях и историях изменений,

  • количество шаблонных и повторяющихся действий только росло.

В какой-то момент команда поняла: чтобы не задыхаться от ручной работы и не раздувать штат тестировщиков до бесконечности, нужно автоматизировать не только сами проверки, но и подготовку тест-кейсов и автотестов. Заказчик поставил задачу — сократить количество рутины и научиться генерировать качественные, понятные и максимально готовые к работе тест-кейсы и автотесты на базе уже существующей аналитики и проектной документации.

Ограничения тоже были суровые:

  • Времени на проверку гипотез было немного — мы договорились о сроке в две недели.

  • Технологии — желательно всё, что легко масштабируется и интегрируется с существующими сервисами ITMS.

  • Результат должен быть не «игрушкой для демо», а реально рабочим инструментом, который сможет выдержать боевые объёмы данных.

  • Качество генерации — минимум 80% совпадения с результатом ручной работы (прямо сравнивали с тем, что делают опытные тестировщики).

Бонус: всё это нужно было сделать с минимальными изменениями в текущих процессах — так, чтобы команда могла быстро внедрить инструмент в свою работу, не переписывая устоявшиеся пайплайны.

Архитектура и стек

Когда идет речь о разработке MVP для проверки гипотезы важно не изобретать велосипед и не уходить в избыточный enterprise, а собрать Proof-of-concept продукт, который можно быстро доработать и развернуть хоть локально, хоть в облаке. Архитектуру строили по принципу модульности, чтобы каждый компонент — хранение, бизнес-логика, интерфейс — жили на своём уровне, не мешали друг другу и могли меняться независимо.

Примерная схема архитектуры проекта
Примерная схема архитектуры проекта

Бэкенд

В качестве основы выбрали Python + FastAPI. Аргументы простые:

  • Python — оптимальный вариант для быстрого прототипирования и интеграции с OpenAI API.

  • FastAPI — быстрый старт для асинхронных сервисов, документация OpenAPI «из коробки», легко писать REST и гибко обрабатывать очереди задач.

  • Много готовых библиотек для работы с файлами, обработкой изображений, парсингом форматов, плюс хорошая поддержка работы с PostgreSQL.

Как интегрировали ИИ

Для генерации тест-кейсов и автотестов подключили OpenAI ChatGPT через API — нейросеть вытягивает смысл из аналитики и проектной документации, а на выходе формирует структуры, близкие к тому, что делают живые тестировщики. Плюсом использовали Vision API для работы с макетами и изображениями интерфейсов — так кейсы стали «видеть» детали, которые сложно описать словами.

Хранение данных

Все сценарии, тест-кейсы, макеты и связанная история хранятся в PostgreSQL. Для уникальности и одновременной работы множества задач — UUID. Плюс реализовали систему аудита — чтобы всегда было видно, кто и что поменял.

Фронтенд
Интерфейс написали на React + TypeScript:

  • Базированный стек для быстрой разработки сложных SPA.

  • Поддержка drag-and-drop, мгновенной фильтрации и работы с файлами.

  • Поддержка светлой и тёмной темы из коробки — важно для тестировщиков, которые любят настраивать рабочее окружение под себя.

Развёртывание

Всё приложение (и backend, и frontend) пакуем в Docker-контейнеры. Можно поднять локально, можно выкатывать в облако через CI/CD пайплайн. Такой подход упростил не только тестирование, но и масштабирование — если потребуется обрабатывать больше данных или добавлять новые сервисы.

Технические нюансы: от аналитики до автотестов

Как устроен пайплайн

Вся магия начинается с загрузки аналитики и макетов через UI. Пользователь просто перетаскивает нужные файлы (поддерживаем все популярные форматы — PNG, JPG, PDF, WebP), и система автоматически сохраняет их в PostgreSQL, привязывая к конкретной задаче или фиче. Каждый «сценарий» — это связка: аналитика, макеты, тест-кейсы, автотесты, история правок, комментарии.

42da1d293653e28a7e5694348ab5fe5f

После загрузки происходит следующее:

Парсинг и препроцессинг:

Аналитика и макеты проходят через отдельные пайплайны. Текстовые данные разбиваются на структурированные блоки (фичи, требования, юзерстори). Макеты анализируются через OpenAI Vision API — генерируются описания интерфейсов, выявляются UI-элементы и сценарии.

Генерация тест-кейсов:

Python-скрипты формируют промпты для ChatGPT на основе всех доступных данных. Отдельно учитывается структура «Arrange–Act–Assert», приоритеты, предусловия. Ответ нейросети разбирается на этапы и сохраняется как черновик тест-кейса.

Обработка изображений:

Для изображений используется отдельный сервис — асинхронно отправляет макеты в Vision API, собирает структурированные данные и подмешивает их в общий контекст задачи.

87fe609dfb94408880c5b90c9b1def59

Проверка дубликатов:

Перед финальной записью проверяем, нет ли похожих кейсов или автотестов. Это спасло от постоянных накладок в команде: если кейс уже был, система подсказывает и предлагает обновить существующий.

Генерация автотестов:

Когда тест-кейсы готовы, второй пайплайн превращает их в автотесты. Тут всё зависит от выбранного фреймворка: для Python — pytest, для JS — Jest и т.д. Генерируется рабочий шаблон, который можно сразу запускать или дорабатывать руками.

9a16f65290febcae36ace68ec6315809

Что делали для производительности и устойчивости

Асинхронные очереди задач на FastAPI, чтобы не блокировать UI при генерации больших объёмов кейсов.

Docker для изоляции сервисов: генерация тестов, Vision API-интеграция, хранение файлов — всё вынесено в отдельные контейнеры.

Логирование всех операций и аудит изменений — чтобы любой тестировщик мог откатиться к нужной версии сценария.

Иногда сталкивались с проблемами

Качество исходных данных критично: если аналитика размазана или макеты в непонятных форматах, AI начинает «галлюцинировать».

Vision API не всегда идеально распознаёт сложные интерфейсы, особенно если макет нестандартный.

Генерация автотестов для нескольких языков потребовала написать свои шаблонизаторы, т.к. универсальных решений нет.

Получилось ли подтвердить гипотезу?

Напомню, что глобально задача стояла так — сможет ли искусственный интеллект выдавать такие тест-кейсы, чтобы их можно было сразу брать в работу, не тратя кучу времени на доработки? Чтобы разобраться, мы загрузили в систему реальные аналитические документы и проектные материалы, а затем сравнили автоматически сгенерированные кейсы с теми, что раньше вручную делали опытные тестировщики. Критерий успеха был довольно строгий — минимум 80% совпадения по структуре и содержанию с «ручными» кейсами.

Результаты, честно говоря, удивили даже нас: большая часть тест-кейсов, которые выдал AI, не требовала ручной правки, а команда тестирования могла сразу использовать их в работе. То же самое касается автотестов — система генерирует код автоматически, что реально ускоряет запуск новых фич.

«Эксперимент показал, что ИИ может делать не только тест-кейсы, но и автотесты такого качества, что их сразу можно применять на практике. Мы гоняли разные варианты промптов и наборы документов — и система показала себя лучше, чем ожидали», — рассказывает Степан Русаков, руководитель департамента качества IT Media Service.

Постоянный контакт с командой заказчика позволил быстро доработать алгоритмы: мы оперативно убрали дублирующие сценарии и учли особенности разной проектной документации. В итоге сервис получился предсказуемым и стабильным — именно того мы и хотели.

Вместо выводов

Для нас этот проект стал живым доказательством: ИИ-инструменты могут не только снимать рутину с команды, но и реально расширять возможности — как по скорости, так и по качеству. IT Media Service получили инструмент, который полностью меняет подход к тестированию: документация теперь создаётся автоматически, автотесты появляются буквально по требованию, а прозрачность и качество не страдают.

«Работать с вами было приятно: удивлён, что всё получилось так быстро и сразу взлетело. В итоге мы получили не только все обещанные фичи, но и те полезные вещи, о которых даже не просили», — делится мнением Степан Русаков.

Видим, что подобные решения не просто разгружают команду, а дают бизнесу уверенность: процессы ускоряются, качество не падает, а эксперты могут сосредоточиться на действительно важных задачах.

Источник: habr.com

✅ Найденные теги: Как, новости
Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых