За последние несколько лет роль QA-инженера заметно изменилась. Мы всё меньше сосредотачиваемся на проверке готового функционала и всё больше участвуем в анализе систем, данных и архитектурных решений.
В нашей команде это особенно проявилось после реструктуризации: в зоне моей ответственности оказалось около 40 сервисов. Приходится глубже разбираться в устройстве системы, понимать, как двигаются данные между сервисами на более низком уровне, — документации и регламентов уже недостаточно.
Нагрузка растёт: через Mattermost и другие каналы коммуникации постоянно приходит всё больше обращений от поддержки и пользователей. Даже при наличии документации и регламентов важная информация всё чаще сначала появляется в переписке, а не в формальных артефактах. В такой среде ИИ — это хороший помощник, который позволяет QA обрабатывать больший объём информации быстрее.
Чтобы понять, в каком состоянии сегодня находится типичный отдел тестирования, достаточно вспомнить одну эпичную сцену из Marvel.
Разберёмся, как эти инструменты реально помогают команде.
Классический сценарий из практики. Из Mattermost прилетает тикет от ТП: «В CRM-виджете отправки письма в поле „Кому“ (селект с выпадающим списком) путаются роли преподавателей: основной и замещающий. Менеджеры не понимают, кому именно уйдёт письмо».
Проблема: чтобы воспроизвести и понять, баг это или фича, нужно разобраться, как работает логика. Документации нет, или она устарела. Остаётся:
исследовательское тестирование (долго и не факт, что найдёшь);
обратиться к разработчику, чтобы тот посмотрел, как работает фича на уровне кода.
Вы наверняка знаете, но я напомню: Cursor это форк VS Code с ИИ на уровне ядра. Ключевая фишка — RAG по всему репозиторию. Cursor индексирует проект и понимает связи между сервисами.
Как он можем помочь с анализом бага в CRM-виджете:
Шаг 1. Открываем консоль браузера → Inspect Element на проблемном селекте → копируем HTML.
Шаг 2. Открываем репозиторий фронтенда приложения → вставляем в Cursor точный запрос:
«На странице в поле отправки письма находится селект с выбором «Кому». Там есть Преподаватель и Временный преподаватель. Можешь показать, откуда тянутся данные и как фронт определяет, выводить „преподаватель“ или „временный преподаватель“?»
Прикрепил HTML-селект.
Ответ Cursor:
Данные → компонент mail-compose-message → метод optionsService
Логика фронта:
teacherId = основной преподаватель
mainId + replacedId = оба преподавателя
Проблема: фронт проверяет наличие teacherId, игнорируя поле type: primary/temporary из API
{ "teachers": [ { "id": "...", "teacherId": "...", "replacedTeacherId": "...", "type": "temporary", "createdAt": "2025-06-01T14:33:13+00:00", "updatedAt": "2025-06-01T14:33:13+00:00" }, { "id": "...", "teacherId": "...", "replacedTeacherId": null, "type": "primary", "createdAt": "2025-04-02T14:05:23+00:00", "updatedAt": "2025-04-02T14:05:23+00:00" } ] }
Cursor даёт больше информации о том, как работает сейчас функциональность тем самым повышает вашу экспертизу. У вас больше контекста для того, чтобы воспроизвести проблему и более точно описать баг-репорт.
Что даёт на деле:
На естественном языке понимаете бизнес-логику, которая не была вынесена в документацию.
Можете сами создать актуальную документацию или обновить старую.
Идёте к разработчику не с вопросом «Почему сломалось?», а с конкретной гипотезой по коду.
Воспроизводите баги в тестовой среде — знаете точные данные и сценарии.
Реальный результат: QA сам разбирается в архитектуре и может документировать фичу.
А при хороших технических навыках можно даже принести баг с уже готовым техническим решением:
QA принёс на груминге тех. решение:
Если с Cursor мы разбираем код и понимаем, как всё работает, то в n8n мы помогаем себе с рутиной. Это low-code-платформа для автоматизации воркфлоу, которую можно развернуть внутри своего контура (self-hosted).
Тестировщик, как правило, взаимодействует с разными сервисами:
задачи в Jira,
корпоративные мессенджеры,
GitLab,
TMS cистемы и т.д.
n8n — low-code платформа, которая умеет работать с сервисами по API (на текущий момент доступно более 400 официальных интеграций).
С его помощью можно:
Строить надежные автоматизации на базе классических алгоритмов (HTTP-запросы, вебхуки, Cron).
Создавать автономных ИИ-агентов для интеллектуальной обработки данных между системами.
Проблема: в тредах обсуждений багов может быть 50+ сообщений, внутри которых лежат полезные логи и скрины. QA вручную агрегирует всю важную информацию и оформляет баг-репорт.
Решение: n8n-агент с инструментами для взаимодействия с сервисами.
Готовая Mattermost-нода — сразу тянет треды по API.
HTTP-нода — кастомные запросы к любым сервисам.
Мой подход: отдельный workflow для получения тредов (модульность + переиспользование), который агент вызывает как tool.
Агент получает от пользователя ссылку на тред → tool get_info_thread_mattermost.
Парсит все признаки баг-репорта: шаги воспроизведения, expected/actual, логи, скрины, id проблемных юзеров. Здесь очень важно корректно описать промпт агенту.
LLM заворачивает баг-репорт в Jira Wiki Markup.
Создаёт в нужном проекте задачу с типом Bug.
Стандартный процесс: разработчик завершает задачу → двигает её в Ready for Test → QA начинает тестирование.
Проблема: описание в задаче может быть неточным или недостаточным, QA не понимает весь объём изменений и рисков.
Решение: агент Стив Роджерс автоматически готовит промпт для Cursor. Мы всё так же создаём агента в n8n, прописываем ему промпт и доступ к нужным tools:
Jira-задача → анализ требований.
GitLab MR → анализ изменений git diff.
Формирует структурированный промпт:
Требования из Jira: [текст задачи].
В этой MR изменены файлы X, Y, Z [git diff].
Сам воркфлоу в n8n агента для формирования промпта из контекста сервисов:
1. Мы отправляем агенту в чат ключ задачи Jira и получаем промпт для Cursor с готовым контекстом:
2. Проверяем промпт и копируем его.:
3. Вставляем промпт в Cursor и получаем суть изменений бизнес-логики.

Результат: QA понимает, что именно изменилось в бизнес-логике, и создаёт чек-листы и тест-кейсы отдельными промптами с учётом специфики проекта.
Для работы с агентами n8n и другими LLM (облачными или локальными) нужен удобный интерфейс. Встроенный чат n8n подходит для простых случаев, но для масштабирования на отделы требуется система с администрированием.
Решение: Open WebUI — self-hosted-интерфейс с поддержкой любых моделей.
Преимущества:
подключение локальных и облачных LLM;
удобное администрирование пользователей и моделей;
вебхуки для интеграции с n8n;
community-решения для сложных интеграций.
Интеграция: n8n ↔ Open WebUI через вебхуки и кастомные скрипты.
Результат: единый интерфейс для всех агентов с централизованным управлением.
Логика настройки:
В n8n: создаем workflow, начинающийся с ноды Webhook (метод POST):
Обработка: внутри воркфлоу настраиваем цепочку действий (например, вызов LLM-агента):
Ответ: в конце обязательно ставим ноду Respond to Webhook:
Интеграция реализуется через кастомный скрипт на стороне Open WebUI, который пробрасывает запросы в вебхуки n8n. За основу взято решение из Community Open WebUI:
Найди данный скрипт можно по адресу: https://openwebui.com/search
В Open WebUI: прописываем URL нашего вебхука в настройках функции:
В n8n можно собирать агентов под свои задачи или использовать другие инструменты автоматизации.Сейчас QA чаще всего используют ИИ для решения задач:
сбор и анализ требований;
создания тест-кейсов и чек-листов;
написания автотестов.
Я фокусируюсь на том, что отнимает больше всего времени, и шарю наработки с коллегами. Не обязательно использовать только инструменты, о которых я рассказал в статье — можно и своё что-то собрать.
Недавно я создал мини-рекордер: он записывает все действия в браузере (API-запросы, локаторы, URL) и формирует промпт для Cursor. Тот смотрит на код фронтенда и бэкенда проектов и генерит точный тест-кейс.
ИИ не замена QA-инженера, а что-то вроде стажёра. Он может уверенно придумать несуществующий эндпоинт или параметр.
Best practice №1. Никогда не копируйте результат ИИ бездумно. Всегда проверяйте, что он возвращает.
Prompt Engineering
Успех почти полностью зависит от системного промпта. Не пишите «сделай чек-лист». Пишите по структуре:
Role. Кто он?
Context. Что мы тестируем?
Instruction. Что сделать?
Output. В каком виде?
Rules. Чего делать нельзя?
Очень хорошо описывают как работать с галлюцинациями Anthropic: https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/reduce-hallucinations
Cursor позволяет вам понять бизнес-логику и разобраться, как работает та или иная фича на уровне кода. Так вы быстрее поможете решить принесённый баг — и клиент будет доволен.
n8n даёт хороший старт в автоматизации: то, что раньше съедало часы, теперь занимает 10 минут. Вы можете самостоятельно выстраивать воркфлоу для взаимодействия с нужными системами.
Open WebUI даёт удобный интерфейс для взаимодействия с LLM.
Главное: ИИ не заменяет QA — он делает работу эффективнее. Если вы знаете архитектуру, умеете в тест-дизайн и понимаете бизнес-логику, эти инструменты только принесут вам пользу. Без экспертизы это просто дорогой калькулятор.
Источник


