Назад

Когда GenAI приходит на помощь: как мы разработали генератор тест-кейсов для IT Media Service

Кейсы
8 июл., 2025
article cover

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


В новом кейсе рассказываем о нашем первом публичном AI R&D проекте: как мы за 2 недели разработали инструмент для автоматической генерации тест-кейсов и автотестов для компании IT Media Service.

Если вам нужно быстро разработать proof of concept или пилот продукта — напишите нам. Связаться с нами можно через чат-бот в Telegram или написать на почту sales@technokratos.com

Интро

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

block image

Главная задача, которую поставил перед нами заказчик, — освободить команду от рутинной работы по созданию тест-кейсов и автотестов.

Мы занимаемся IT-консалтингом и заказной разработкой для клиентов из сферы IT. Несколько лет мы разрабатываем и поддерживаем один продукт. С его ростом и количеством новых фич качество приходилось поддерживать вручную. Регрессия увеличивалась — и либо мы нанимали всё больше тестировщиков, либо искали способ ускорить процесс без потери качества.

С каждым релизом у нас рос объём ручного тестирования. Проверять все старые и новые сценарии вручную — это всё больше времени и людей. Поэтому мы задумались: а можем ли мы автоматизировать создание тест-кейсов и автотестов с помощью ИИ и сократить издержки?

User avatar

Степан Русаков

Руководитель департамента качества IT Media Service

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

Цели и ожидаемый результат

Перед стартом проекта мы вместе с командой IT Media Service определили, к чему хотим прийти:

  • Автоматизировать рутинное: чтобы тест-кейсы формировались на основе аналитики и проектной документации практически «по кнопке», без долгих ручных операций.
  • Сделать автотесты доступнее: чтобы автотесты создавались сразу вместе с тест-кейсами, а не появлялись неделями спустя — и их можно было быстро подключать к существующим процессам.
  • Достичь качества «как у профи»: важно было, чтобы автоматически сгенерированные тест-кейсы по точности и структуре не уступали тем, что делает опытный специалист. В качестве ориентира мы поставили планку не ниже 80% совпадения с ручной работой.
  • Обеспечить прозрачность: хотелось, чтобы любой участник — аналитик, тестировщик или разработчик — мог легко разобраться, как формировался тот или иной тест-кейс, и всегда знал, где найти нужную информацию.

«Но главная метрика — чтобы тест-кейсы, которые выдаёт ИИ, были человеку понятны и их реально можно было использовать в работе. Мы не гнались за красивыми цифрами — главное, чтобы тест-кейсы был корректными и читались так же, как если бы его написал опытный тестировщик»

User avatar

Степан Русаков

руководитель департамента качества IT Media Service

Всё это должно было не только сэкономить время, но и дать команде уверенность, что качество и прозрачность тестовой документации останутся на высоком уровне

Подход и решение

Этап 1. Архитектура как строительные леса — и искусственный интеллект в роли прораба

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

Для серверной части выбрали Python и FastAPI. Это как хороший швейцарский нож: позволяет быстро собрать нужный инструмент и легко поддерживать работу с большими объёмами данных, а ещё — организовать асинхронную обработку задач, чтобы система не «подвисала», даже когда нагрузка растёт.

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

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

block image
Блочная архитектура проекта

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

Этап 2. Сценарии как маршрутные карты: вся история под рукой

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

block image
Экран со сценариями тестирования

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

Для хранения таких сценариев мы выбрали PostgreSQL, добавили уникальные идентификаторы (UUID) — теперь система легко «разруливает» сотни задач одновременно и не путается в данных. А чтобы никто не мог «потерять» или случайно изменить чужую работу, реализовали прозрачный аудит действий: любой шаг фиксируется, и всегда видно, кто и что делал.

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

Этап 3. Не только читать, но и видеть: как ИИ научился работать с изображениями

Мы прекрасно понимали: в современных проектах один макет экрана иногда говорит больше, чем десяток описаний. Поэтому решили — пусть система научится понимать не только слова, но и картинки.

Добавили поддержку загрузки изображений во всех популярных форматах — от PNG до WebP. Причём работать с файлами можно максимально удобно: просто перетащить мышкой («drag & drop») или воспользоваться классическим способом через меню. Автоматическая проверка формата и размера избавила команду от случайных ошибок и долгих объяснений «почему файл не загрузился».

block image
Изображения для генерации тест-кейсов можно добавлять при помощи drag-n-drop

Главное нововведение — подключение Vision API от OpenAI. Теперь система умеет «смотреть» на макеты, схемы и скриншоты, анализировать интерфейс и детали, которые невозможно достать из текста. Это позволило собирать для тест-кейсов больше реальных пользовательских сценариев — с учётом всех «мелочей» на экране.

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

Этап 4. Гибкие тест-кейсы: стандарт качества и удобства

На этом этапе мы создали не просто «заготовку» для тест-кейсов, а полноценную, гибкую модель, которая учитывает все детали рабочего процесса. Каждый тест-кейс строится по принципу AAA (Arrange–Act–Assert): что нужно подготовить, что делать и какой результат ожидать. Плюс — приоритеты, предусловия, подробные шаги и ожидаемые результаты. Всё это теперь не надо держать в голове — система сама подскажет нужную структуру и поможет ничего не упустить.

Для управления тест-кейсами мы сделали удобный API — как пульт управления для сложной техники: можно создавать, редактировать, просматривать, удалять, искать и фильтровать кейсы буквально в несколько кликов, и всё это работает просто и предсказуемо для каждого члена команды.

block image
Экран со сгенерированными тест-кейсами

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

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

Этап 5. Собрали простой, но приятный UI

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

В основе приложения — React и TypeScript, что позволило добиться не только скорости и надёжности, но и гибкости. Мы продумали логику так, чтобы вся структура сценариев и тест-кейсов была всегда «под рукой». Пользователь может загрузить аналитику или изображения в один клик, тут же переключиться на другую задачу или просмотреть результаты генерации без долгих переходов.

block image
Экран генерации автотестов 

Особое внимание уделили мелочам, которые экономят время каждый день: загрузка файлов простым перетаскиванием, мгновенная фильтрация и поиск по тест-кейсам, поддержка светлой и тёмной темы — всё это делает работу комфортной, независимо от предпочтений пользователя.

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

Этап 6. Продукт становится ближе к жизни: собираем обратную связь и улучшаем детали

Когда первая версия системы заработала, мы не ограничились формальной сдачей работ — вместо этого организовали постоянный диалог с командой IT Media Service. Для нас было важно не просто «выпустить продукт», а сделать так, чтобы он по-настоящему помогал в реальной работе.

Команда заказчика сразу начала использовать инструмент на своих реальных задачах и делилась свежими впечатлениями: что удобно, а что требует доработки. Такой открытый обмен позволил оперативно находить слабые места и усиливать сильные стороны.

С помощью регулярной обратной связи мы быстро внедрили важные улучшения:

  • Добавили защиту от дублирования тест-кейсов и научили систему учитывать уже существующие сценарии;
  • Ввели отдельное поле для AAA-заголовков, чтобы документация стала ещё более структурированной и наглядной;
  • Реализовали генератор end-to-end кейсов для комплексного покрытия бизнес-процессов и сложных пользовательских сценариев;
  • Переписали логику генерации шагов: теперь каждое разветвление сценария формируется в отдельный тест-кейс, что заметно повышает точность и управляемость результата.

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

Этап 7. От документации — к реальной автоматизации: автотесты за пару кликов

Следующий шаг — научить систему не только формировать тест-кейсы, но и автоматически превращать их в готовые автотесты. Мы хотели, чтобы тестировщики и разработчики могли не только быстро получать документацию, но и запускать проверки продукта почти мгновенно.

block image
Сгенерированные автотесты можно редактировать

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

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

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

Проверка гипотез и результаты: что изменилось на практике

ITMS изначально пришли с вопросом: сможет ли искусственный интеллект генерировать тест-кейсы такого уровня, чтобы их можно было брать в работу почти без доработок?

Для ответа на этот вопрос загрузили в систему настоящие аналитические документы и проектные материалы, а получившиеся тест-кейсы сравнили с примерами, которые раньше готовили опытные специалисты вручную. В качестве «планки» поставили реальную цифру — не менее 80% совпадения с ручными результатами.

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

Эксперимент подтвердил: ИИ способен генерировать качественные тест-кейсы и автотесты, которые можно сразу использовать. Мы попробовали разные промпты и объёмы документов — и система справилась лучше, чем ожидали

User avatar

Степан Русаков

руководитель департамента качества IT Media Service

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

Вывод: появилось больше времени для новых фич

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

Работать с вашей командой было приятно: не думал, что получится так быстро и что всё заработает. Сделали и UI, и backend, и реализовали фичи, о которых даже не просили — но они оказались полезными

User avatar

Степан Русаков

руководитель департамента качества IT Media Service

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

А если вам нужно разработать аналогичный или похожий инструмент для своей команды, то напишите нам через чат-бот в Telegram или на почту sales@technokratos.com.