
В этом тексте расскажем, как мы за две недели собрали MVP генератора тест-кейсов на базе GenAI для компании IT Media Service. До этого ребята вручную писали сотни тест-кейсов и автотестов к каждому релизу, тратили на это тонны времени, а автоматизация требовала улучшения.
Команда заказчика пришла к нам с гипотезой: можно ли сделать так, чтобы вся эта рутина делалась почти автоматически — загрузил аналитику и макеты, а дальше система сама подготовит тест-кейсы, предложит автотесты и ничего не забудет. В процессе пришлось решать как архитектурные, так и сугубо инженерные задачи — от выбора стека до интеграции с нейросетями и Vision API, плюс сделать UI, которым реально удобно пользоваться.
Дисклеймер: прежде чем мы начнем, рекомендуем подписаться на «Голос Технократии» — мы регулярно рассказываем о новостях и новых релизах в сфере GenAI, а также делимся полезными мастридами и актуальными событиями.
Постановка задачи и ограничения
IT Media Service — компания, которая помогает другим бизнесам поддерживать порядок и прозрачность в ИТ-проектах. Казалось бы, автоматизация у них должна быть на максималках, но в реальности тестовая документация и автотесты оставались на ручном управлении. Каждый новый релиз — новые фичи и сценарии, обсуждения, правки, согласования между аналитиками и тестировщиками. Всё это оформлялось вручную: от написания тест-кейсов до подготовки автотестов.

Классический подход работал на небольших, но по мере роста продукта команда начала тонуть в рутине:
проверка новых и старых сценариев каждый раз занимала всё больше времени,
появлялась путаница в версиях и историях изменений,
количество шаблонных и повторяющихся действий только росло.
В какой-то момент команда поняла: чтобы не задыхаться от ручной работы и не раздувать штат тестировщиков до бесконечности, нужно автоматизировать не только сами проверки, но и подготовку тест-кейсов и автотестов. Заказчик поставил задачу — сократить количество рутины и научиться генерировать качественные, понятные и максимально готовые к работе тест-кейсы и автотесты на базе уже существующей аналитики и проектной документации.
Ограничения тоже были суровые:
Времени на проверку гипотез было немного — мы договорились о сроке в две недели.
Технологии — желательно всё, что легко масштабируется и интегрируется с существующими сервисами 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, привязывая к конкретной задаче или фиче. Каждый «сценарий» — это связка: аналитика, макеты, тест-кейсы, автотесты, история правок, комментарии.

После загрузки происходит следующее:
Парсинг и препроцессинг:
Аналитика и макеты проходят через отдельные пайплайны. Текстовые данные разбиваются на структурированные блоки (фичи, требования, юзерстори). Макеты анализируются через OpenAI Vision API — генерируются описания интерфейсов, выявляются UI-элементы и сценарии.
Генерация тест-кейсов:
Python-скрипты формируют промпты для ChatGPT на основе всех доступных данных. Отдельно учитывается структура «Arrange–Act–Assert», приоритеты, предусловия. Ответ нейросети разбирается на этапы и сохраняется как черновик тест-кейса.
Обработка изображений:
Для изображений используется отдельный сервис — асинхронно отправляет макеты в Vision API, собирает структурированные данные и подмешивает их в общий контекст задачи.

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

Что делали для производительности и устойчивости
Асинхронные очереди задач на FastAPI, чтобы не блокировать UI при генерации больших объёмов кейсов.
Docker для изоляции сервисов: генерация тестов, Vision API-интеграция, хранение файлов — всё вынесено в отдельные контейнеры.
Логирование всех операций и аудит изменений — чтобы любой тестировщик мог откатиться к нужной версии сценария.
Иногда сталкивались с проблемами
Качество исходных данных критично: если аналитика размазана или макеты в непонятных форматах, AI начинает «галлюцинировать».
Vision API не всегда идеально распознаёт сложные интерфейсы, особенно если макет нестандартный.
Генерация автотестов для нескольких языков потребовала написать свои шаблонизаторы, т. к. универсальных решений нет.
Получилось ли подтвердить гипотезу?
Напомню, что глобально задача стояла так — сможет ли искусственный интеллект выдавать такие тест-кейсы, чтобы их можно было сразу брать в работу, не тратя кучу времени на доработки? Чтобы разобраться, мы загрузили в систему реальные аналитические документы и проектные материалы, а затем сравнили автоматически сгенерированные кейсы с теми, что раньше вручную делали опытные тестировщики. Критерий успеха был довольно строгий — минимум 80% совпадения по структуре и содержанию с «ручными» кейсами.
Результаты, честно говоря, удивили даже нас: большая часть тест-кейсов, которые выдал AI, не требовала ручной правки, а команда тестирования могла сразу использовать их в работе. То же самое касается автотестов — система генерирует код автоматически, что реально ускоряет запуск новых фич.
«Эксперимент показал, что ИИ может делать не только тест-кейсы, но и автотесты такого качества, что их сразу можно применять на практике. Мы гоняли разные варианты промптов и наборы документов — и система показала себя лучше, чем ожидали», — рассказывает Степан Русаков, руководитель департамента качества IT Media Service.
Постоянный контакт с командой заказчика позволил быстро доработать алгоритмы: мы оперативно убрали дублирующие сценарии и учли особенности разной проектной документации. В итоге сервис получился предсказуемым и стабильным — именно того мы и хотели.
Вместо выводов
Для нас этот проект стал живым доказательством: ИИ-инструменты могут не только снимать рутину с команды, но и реально расширять возможности — как по скорости, так и по качеству. IT Media Service получили инструмент, который полностью меняет подход к тестированию: документация теперь создаётся автоматически, автотесты появляются буквально по требованию, а прозрачность и качество не страдают.
«Работать с вами было приятно: удивлён, что всё получилось так быстро и сразу взлетело. В итоге мы получили не только все обещанные фичи, но и те полезные вещи, о которых даже не просили», — делится мнением Степан Русаков.
Видим, что подобные решения не просто разгружают команду, а дают бизнесу уверенность: процессы ускоряются, качество не падает, а эксперты могут сосредоточиться на действительно важных задачах.
Gromov32lvl
Выглядит, как реальный шаг вперёд в автоматизации тестирования. Две недели на MVP - это круто, особенно с учётом интеграции vision API. Интересно, как система справляется с нестандартными UI или сложными сценариями. Будет здорово увидеть, как это работает в реальных проектах.