📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

End-to-End Agentic AI QA Workflow with AI Agents, MCP & Playwright | Build an Autonomous QA Engineer

Ravikanth FicusRoot - Tech Videos57:48

Transcription

Привет всем, это Рави. Добро пожаловать на мой YouTube канал. Как вы все знаете, я опубликовал серию видео на YouTube по концепциям автоматизации тестирования на основе ИИ с использованием современных инструментов, доступных на рынке. В рамках этой серии я опубликовал почти 20 с лишним видео на YouTube. Итак, это плейлист "Автоматизация тестирования на основе ИИ с использованием агентов, агентурного ИИ и MCP-серверов". Этот плейлист состоит из более чем 20 видео на YouTube, охватывающих современные инструменты автоматизации тестирования, такие как test rigger, затем playright, затем playright agents, затем catalon studio assist, selenium mcp servers, playright mcp servers, а также я осветил некоторые концепции по созданию MCP-серверов и освоению MCP-серверов для QA-инженеров, и недавно я начал публиковать видео на YouTube по облачному коду для QA-инженеров. Поэтому я рекомендую вам посетить эти видео, чтобы получить базовое понимание LLM, агентов и MCP-серверов. Пожалуйста, подпишитесь на канал. Нажмите на значок колокольчика. Вы будете получать уведомления, когда я буду публиковать новые видео. Не забудьте поставить лайк и поделиться видео. Спасибо. Это наш 23-й урок, где я буду освещать очень важную концепцию под названием "Сквозной QA-рабочий процесс с агентурным ИИ". В рамках этого урока я покажу вам, как мы можем автоматизировать весь сквозной QA-рабочий процесс с помощью агентурного ИИ. Итак, что такое наш сквозной QA-рабочий процесс? Начиная с анализа пользовательских историй и до тех пор, пока вы не отправите свои скрипты автоматизации в ваш репозиторий GitHub и не развернете приложение в продакшене. Весь этот сквозной QA-рабочий процесс возможен с помощью простого промпта, использующего естественный язык. Мы не будем использовать ни строчки кода. Итак, давайте посмотрим, как мы можем автоматизировать этот сквозной QA-рабочий процесс с помощью ИИ-агентов и MCP-серверов. В этом сквозном QA-рабочем процессе мы будем использовать автономных QA-агентов для полного жизненного цикла тестирования, а также будем использовать MCP-серверы в качестве поставщиков инструментов, и, как я уже говорил, мы будем использовать только естественный язык. Мы не будем использовать ни строчки кода. Используя простой естественный язык, вы получите готовый к продакшену код, а затем в этом уроке я дам вам живую демонстрацию на системе для тестирования под названием source demo. Теперь давайте разберемся с ролью агентурного ИИ в тестировании. В традиционной автоматизации, когда вы автоматизируете весь ваш сквозной QA-рабочий процесс, вы будете следовать пошаговым инструкциям вручную, верно? Это означает, что вам сначала нужно прочитать ваши пользовательские истории, понять требования, а затем вам нужно подготовить ваши тестовые случаи или план тестирования, а из плана тестирования вам нужно автоматизировать все ваши тестовые случаи. Как только тестовые случаи будут автоматизированы, вам нужно будет отладить скрипты, а затем вам нужно будет запустить все автоматизированные тестовые случаи, и если какие-либо тестовые случаи не пройдут, вам нужно будет исправить тестовые случаи, а затем вам нужно будет отправить код в репозиторий Git, используя различные команды. Правильно? Все эти пошаговые ручные инструкции, которые необходимы в традиционной автоматизации, и вам нужно явно программировать для каждого тестового случая, который вы хотите автоматизировать. Это означает, что человеческое вмешательство требуется на каждом этапе. В то время как в автоматизации агентурного ИИ мы будем иметь автономное принятие решений, что означает, что ИИ-агенты способны выбирать лучший подход, который требуется для вашего требования, а затем использование инструментов. Агенты используют MCP-серверы, как люди используют инструменты, и многоагентное сотрудничество. Это важно. Мы будем использовать несколько агентов, и эти специализированные агенты работают вместе для общей цели, а затем самовосстановление. Эти агенты способны автоматически исправлять сбои без вмешательства человека, и все это возможно с помощью простого интерфейса на естественном языке. Мы будем использовать только инструкции на простом английском языке. Мы не будем писать ни строчки кода. Все это возможно с помощью простого английского языка. Теперь давайте посмотрим на эту архитектуру QA агентурного ИИ, которую я собираюсь продемонстрировать вам в живой демонстрации. Если вы посмотрите сюда, как я уже говорил, мы будем использовать инструкции на естественном языке, а наша ИИ-оркестрация будет использовать ИИ-агентов. Это различные ИИ-агенты, а затем MCP-серверы. Если вы посмотрите на левую сторону, есть три специализированных ИИ-агента, которые мы будем использовать. Что это? Playwright Test Planner, Playwright Test Generator, Playwright Test Healer. Playwright Test Planner, который исследует приложения и создает план тестирования. Playwright Test Generator, который генерирует код автоматизации. Playwright Test Healer, который отлаживает и автоматически исправляет сбои тестов, и есть главный агент, который мы будем использовать. Что это за главный агент? GitHub Copilot. Этот главный агент может понимать, каких агентов ему нужно вызывать, когда это необходимо, а также мы будем использовать два MCP-сервера. Что это? Playwright MCP для автоматизации браузера и затем GitHub MCP для операций контроля версий. Теперь позвольте мне показать вам, что такое система для тестирования, которую мы будем рассматривать для автоматизации этого сквозного QA-рабочего процесса. Мы будем рассматривать приложение под названием source demo.com. Это наша система для тестирования. Какую функцию мы хотим автоматизировать? Я хочу автоматизировать полный процесс оформления заказа, а затем какова сложность? Сложность заключается в том, что мы будем рассматривать пользовательскую историю, которая имеет пять критериев приемки, что приводит к примерно 40+ тестовым сценариям, а затем каковы все различные проверки, которые мы будем выполнять. Одна - это проверка корзины и управление товарами, проверка формы оформления заказа, обзор заказа и расчеты цен, процесс завершения заказа, обработка ошибок и крайние случаи. Мы протестируем все эти функции. Правильно? Каково покрытие тестами? Мы охватим восемь различных сценариев со скриншотами, что приведет к примерно 60 тестовым случаям, и мы будем автоматизировать эти 60 тестовых случаев с помощью простого промптинга на естественном языке, а также мы автоматизируем некоторые тесты безопасности. А затем мы также рассмотрим автоматизацию некоторых крайних случаев. Итак, теперь мы понимаем, что такое наша система для тестирования. Теперь позвольте мне объяснить вам фреймворк, который мы собираемся построить для достижения этого сквозного QA-рабочего процесса. Вот фреймворк. Итак, давайте посмотрим на сквозной фреймворк агентурного ИИ. В этом конкретном сквозном QA-рабочем процессе мы будем получать пользовательские истории. Как только мы получим пользовательские истории, нам нужно будет прочитать пользовательские истории, извлекая требования и критерии приемки. Это наш первый шаг. Как только вы прочитаете ваши пользовательские истории и критерии приемки, затем мы создадим план тестирования. Как мы это сделаем? Мы будем использовать агент под названием Playwright Test Planner. Этот агент читает и понимает пользовательские истории, а затем исследует приложение, указанное в пользовательских историях, а затем подготавливает комплексный план тестирования, подробный план тестирования в файле markdown, MD-файле, а затем с помощью этого подробного плана тестирования и инструмента Playwright Browser MCP. Мы будем использовать сервер Playwright MCP. Здесь мы будем проводить исследовательское тестирование с помощью сервера Playwright MCP, читая подробный план тестирования, созданный агентом Test Planner. Как только вы проведете исследовательское тестирование, каковы результаты? Результатом второго шага является подробный план тестирования. Результатом исследовательского тестирования являются ваши скриншоты и наблюдения за тестами. А затем мы выполним наш четвертый шаг. Каков наш четвертый шаг? Автоматическая генерация тестов с использованием другого агента под названием Playwright Test Generator. Мы автоматизируем все тестовые случаи с помощью плана тестирования, созданного на втором шаге, и с помощью выходных скриншотов и наблюдений за тестами из третьего шага. Это означает, что этот агент Playwright Test Generator принимает план тестирования и ручные находки из исследовательского тестирования в качестве входных данных и самостоятельно автоматизирует все тестовые случаи. Как только это будет сделано, каков наш следующий шаг? Наш следующий шаг - шаг пятый, выполнение и исправление тестов. Здесь мы будем использовать другой агент под названием Playwright Test Healer. Этот агент запускает все тестовые случаи, автоматизированные предыдущим агентом, и если какой-либо тестовый случай не пройдет, этот агент автоматически исправляет все сбои, он исправляет скрипты тестов. А затем на шестом шаге, как только мы выполним все автоматизированные тестовые случаи, мы сгенерируем отчет о тестировании. Наш Git Copilot, наш агент GitHub Copilot сгенерирует подробный отчет о тестировании, который включает информацию, связанную с ручной автоматизацией и исправлением. Он предоставит вам подробные результаты тестов в формате MD-отчета. Он предоставит информацию о прохождении и сбое, информацию о покрытии, информацию о дефектах, информацию об окружении и т. д. А затем, как только это будет сделано, каков наш седьмой шаг? Мы зафиксируем всю кодовую базу, весь наш фреймворк, включая пользовательские истории, план тестирования, тестовые случаи, автоматизированные тестовые случаи, ваши отчеты и все остальное в репозиторий GitHub с помощью другого агента или другого MCP-сервера под названием GitHub MCP Server. Вся эта информация, как я уже говорил, ваши пользовательские истории, ваши скрипты тестов, результаты тестов будут отправлены в ваш репозиторий GitHub с помощью сервера GitHub MCP. Весь этот рабочий процесс мы достигнем с помощью одного файла промпта. Итак, что я собираюсь сделать, я подготовлю один простой файл промпта. И этот файл промпта я передам агенту GitHub Copilot. А затем я просто нажму Enter. Тогда ваш агент GitHub Copilot сам позаботится обо всех этих шагах. Сначала он прочитает пользовательские истории с помощью агента-читателя, а затем создаст планы тестирования с помощью агента Playwright Test Planner. Он проведет исследовательское тестирование с помощью сервера Playwright Browser MCP, а затем сгенерирует ваши автоматизированные тестовые случаи с помощью Playwright Test Generator и исправит все сбои тестовых случаев с помощью Playwright Test Healer. Он сгенерирует отчеты с помощью агента GitHub Copilot, а затем отправит весь фреймворк в ваш репозиторий GitHub с помощью сервера GitHub MCP. Правильно? Весь этот QA-рабочий процесс возможен с помощью простого файла промпта на естественном языке. Каковы преимущества и будущее агентурного ИИ-тестирования? Ключевые преимущества: весь сквозной QA-рабочий процесс, который я объяснил вам для построения этого сквозного рабочего процесса, если он занимает 5-7 дней при традиционном подходе к автоматизации, то теперь, используя этот агентурный ИИ, в течение одного-двух часов я могу завершить весь сквозной QA-рабочий процесс, и здесь не требуется ручное кодирование, вам не нужно писать ни строчки кода, а затем самовосстанавливающиеся тесты исправляют себя автоматически, масштабируемость: вы можете добавлять больше агентов для большего покрытия в будущем, а каково качество: 100% прохождение с всесторонним покрытием, а какова стоимость: значительное снижение рабочей нагрузки QA-команды, потому что ИИ-агенты фактически играют роль членов вашей команды. Итак, давайте перейдем к нашей системе, и я покажу вам шаг за шагом, как мы можем достичь этой автоматизации сквозного QA-рабочего процесса с помощью нескольких агентов и нескольких MCP-серверов. Это мой Visual Studio Code. Давайте начнем с первого шага. Я объясню вам шаг за шагом, как мы можем достичь этого фреймворка агентурного ИИ для сквозного QA-рабочего процесса. Позвольте мне сначала открыть пустую папку, нажав "Открыть папку". Я создаю пустой проект. Я создал пустой проект под названием "Сквозной рабочий процесс QA агентурного ИИ". Это ваша пустая папка. Хорошо. Позвольте мне выбрать эту пустую папку. Выбрать папку. Это создаст пустой проект в вашем Visual Studio Code. Вы можете увидеть здесь проводник проекта, и ваш проект пуст. Теперь давайте сначала перейдем к презентации, чтобы построить фреймворк, который работает с естественным языком и может выполнять сквозной QA-рабочий процесс. Правильно? Чтобы построить такой фреймворк, вам нужно установить несколько агентов и несколько MCP-серверов. Прежде чем мы начнем устанавливать какие-либо агенты или MCP-серверы, давайте сначала установим Playwright в рабочем пространстве. Как установить Playwright в рабочем пространстве? Давайте перейдем в Visual Studio Code и здесь откроем терминал. В новом терминале я инициализирую установку Playwright: npm init playwright @latest. Это установит последнюю версию Playwright. Нажмите Enter. Он начал установку последней версии Playwright. Теперь он спрашивает, хотите ли вы использовать TypeScript или JavaScript. Я выберу стандартный TypeScript. Чтобы выбрать стандартный TypeScript, вам просто нужно нажать Enter. А затем он спрашивает, куда поместить ваши сквозные тесты, которые вы собираетесь автоматизировать. Я хочу выбрать стандартную папку tests. Нажмите Enter. А затем хотите ли вы добавить рабочий процесс GitHub Actions? Это потому, что в конце QA-рабочего процесса мы отправим весь фреймворк в репозиторий Git. Поэтому нам нужны GitHub Actions. Я выберу значение по умолчанию true. Нажмите Enter. А теперь он спрашивает, хотите ли вы установить браузеры Playwright? Да, я хочу установить все браузеры Playwright: Chromium, Firefox, Edge и Safari. Нажмите Enter. Это начнет установку всех браузеров. Посмотрите здесь, он начал установку Playwright Test и браузеров. Добавлено три пакета. Посмотрите, теперь он скачивает браузеры. Он скачает Chromium, Firefox, Safari. Итак, теперь посмотрите, установка браузеров вместе с Playwright завершена. Как только мы все закончим, давайте очистим терминал. Теперь давайте перейдем к рабочему процессу. Что вам нужно сначала? Теперь вам нужно сначала установить ваш Playwright MCP-сервер. Итак, давайте установим Playwright MCP-сервер, а затем мы также установим агенты Playwright Test. Итак, давайте перейдем в браузер Chrome. Здесь я скажу "Playwright MCP Server" и перейду на официальный репозиторий GitHub Playwright MCP Server. Этот репозиторий является репозиторием с открытым исходным кодом. Любой может использовать этот репозиторий. Прокрутите вниз. Итак, вы можете либо скопировать этот конкретный код в ваш файл MCP.json, либо использовать опцию здесь, потому что я использую VS Code, я могу нажать на эту кнопку, чтобы эта конфигурация произошла автоматически. Итак, давайте нажмем на VS Code. Это попросит вас открыть VS Code, и затем я хочу установить в рабочем пространстве. Нажмите "Установить в рабочем пространстве". Как только я нажму "Установить в рабочем пространстве", он создаст файл MCP.json. Хорошо, установить. Посмотрите под VS Code, теперь создан новый файл MCP.json. Посмотрите здесь, теперь добавлен Playwright MCP Server. И он работает, и вы можете видеть, что в Playwright MCP Server доступно 22 инструмента MCP. Чтобы понять, что такое MCP-сервер и что это за инструменты в Playwright MCP Server, вы можете посетить мои предыдущие видео. Ссылку вы найдете в описании. Теперь, чтобы увидеть все эти доступные инструменты, что вам нужно сделать, давайте перейдем к нашим инструментам конфигурации, настроить инструменты. Посмотрите, если вы прокрутите вниз здесь, посмотрите, это ваш Playwright MCP. Разверните его. Посмотрите, это все инструменты, 22 различных инструмента, доступных в Playwright MCP Server. Мы уже выбрали их. Поскольку мы установили Playwright MCP Server или настроили Playwright MCP Server, все инструменты доступны. Как только это будет сделано, каков наш следующий шаг? Наш следующий шаг - установка специализированных агентов Playwright AI. Что это за агенты? Планировщик, генератор и исправитель. Итак, давайте снова перейдем в браузер. Давайте наберем "Playwright Test Agents". Здесь вы можете увидеть, что это ваши Playwright Test Agents. Это официальный сайт Playwright. Нажмите на него и прокрутите вниз. Здесь, чтобы установить официальные агенты Playwright Test Agents, вам нужно выполнить эту команду. Скопируйте эту команду. Давайте перейдем в VS Code и вставим команду сюда. npx playwright init agents --loop=VSCode, потому что я устанавливаю этих агентов в VS Code. Нажмите Enter. Если вы хотите установить в Cloud Code, вы можете использовать эту команду. Если вы хотите установить в Open Code, вы можете использовать эту команду. Хорошо. Теперь он начал установку ваших агентов Playwright. Слева, как только установка будет завершена в GitHub, если вы развернете это, появится новая папка под названием agents. Разверните ее. Теперь посмотрите, я вижу три установленных агента. Что это? Test Generator, Test Planner, Test Healer Agents, а также вы можете получить к ним доступ отсюда. Как только я выберу агентов здесь, теперь вы можете увидеть, что доступны три дополнительных агента: Playwright Test Planner, Playwright Test Generator, Playwright Test Healer, а также, если вы посмотрите на файл MCP.json, теперь новая конфигурация MCP. Посмотрите здесь, это конфигурация вашего агента. Что такое конфигурация агента Test Agent? Первым является конфигурация нашего сервера Playwright MCP. Это конфигурации агентов. Playwright Test против Playwright. Я могу запустить это тоже. Запустить это. Отлично. Ваши агенты Playwright Test добавлены. Теперь давайте перейдем к презентации. И как только это будет сделано, каков главный агент? Конечно, ваш GitHub Copilot. Это ваш GitHub Copilot, верно? Это мой GitHub Copilot. Я уже установил свой GitHub Copilot в VS Code. Вы можете посетить мои предыдущие видео, как установить или настроить GitHub Copilot в VS Code. Как только это будет сделано, что осталось? Теперь мне нужен сервер GitHub MCP, чтобы отправить код. Правильно? Мне нужен сервер GitHub MCP. Итак, давайте перейдем в браузер сюда. Теперь я скажу "GitHub MCP Server". Это официальный репозиторий GitHub MCP Server. Нажмите на него. Теперь давайте прокрутим вниз. Здесь вы можете либо использовать эту конфигурацию в VS Code, если вы хотите использовать OAuth, либо если вы хотите использовать персональный токен доступа, вы можете использовать эту конкретную конфигурацию. Мы будем использовать персональный токен доступа при выполнении нашего сквозного QA-рабочего процесса. Поэтому я собираюсь использовать эту конкретную конфигурацию. Давайте перейдем в VS Code. Здесь, что я собираюсь сделать здесь, после этого, это мой третий MCP-сервер, верно? Playwright MCP Server, Playwright Test Agents, а затем я уже скопировал конфигурацию GitHub MCP Server сюда. Давайте поставим запятую, потому что я добавляю новый MCP-сервер, и вставим ее сюда. Это мой GitHub MCP Server. Если вы посмотрите сюда, это мой тип, это мой URL GitHub, а затем здесь это персональный токен доступа. Я уже создал персональный токен доступа в GitHub. Я покажу вам, как его сгенерировать. Хорошо. Теперь вы можете запустить сервер GitHub MCP также. Посмотрите здесь, я вижу, что сервер GitHub MCP запущен, и я вижу 43 доступных инструмента. Давайте перейдем к нашей конфигурации инструментов здесь. Хорошо, настроить инструменты, и здесь, если вы посмотрите, это мой GitHub MCP Server. Если вы развернете его, вы увидите все эти 43 доступных инструмента, верно? А теперь нажмите "ОК". Итак, теперь мы закончили установку и настройку вашего Playwright MCP Server, агентов Playwright Test, GitHub MCP Server и вашего Playwright. Хорошо, очистите терминал. Теперь давайте перейдем к презентации. Теперь мы готовы со всеми агентами и MCP-серверами, которые требуются для нашего рабочего процесса агентурного ИИ. Теперь давайте перейдем к рабочему процессу, чтобы понять шаги. Это мой рабочий процесс. Сначала нам нужны пользовательские истории или требования. Правильно? Для этого я уже подготовил некоторые пользовательские истории с несколькими критериями приемки. Позвольте мне просто скопировать эти пользовательские истории. Теперь я хочу создать здесь новую папку. Хорошо. Под проектом я хочу создать новую папку под названием "user stories". Новая папка. Я скажу "user stories". А затем под "user stories" я хочу создать MD-файлы, где я буду хранить все пользовательские истории. Но в любом случае, вам не нужно создавать этот MD-файл в некоторых случаях. Вы можете напрямую получить пользовательские истории из Jira. В моих предыдущих видео я объяснил вам, как получить пользовательские истории из Jira. Какая сессия? Название сессии - "Множество агентов" - это сессия. Хорошо, как использовать множество агентов в автоматизации тестирования. Вы можете обратиться к этому уроку. Хорошо, но пока я создам новый файл в папке "user stories". Здесь я создам новый файл. Нажмите "Новый файл", и я назову его вот так. Хорошо, как называется моя пользовательская история? Scrum101 e-commerce checkout.md. Это имя моего файла. Здесь, в этом конкретном файле Markdown, я вставлю пользовательскую историю и критерии приемки. Я просто вставляю пользовательскую историю, которая доступна в моем Jira. Хорошо. Это моя пользовательская история. Позвольте мне четко показать вам, что такое пользовательская история. Это моя пользовательская история. Процесс оформления заказа в электронной коммерции. Это заголовок моей истории. Это описание моей истории. Реализуйте полный процесс оформления заказа, который позволяет клиентам просматривать свою корзину, вводить информацию о доставке, выбирать способ оплаты и подтверждать свой заказ. Какой URL приложения? sdemo.com, и я также предоставляю тестовые учетные данные для этого конкретного веб-сайта. А затем каков критерий приемки? Посмотрите здесь, критерий приемки для проверки корзины, критерий приемки для ввода информации об оформлении заказа, критерий приемки для обзора заказа и критерий приемки для завершения заказа и критерий приемки для обработки ошибок. И это мои бизнес-правила, технические заметки и определение готовности. Хорошо, это моя пользовательская история с несколькими критериями приемки. Отлично. Теперь у нас есть пользовательская история. Теперь с помощью одного промпта в чате GitHub Copilot. Теперь я должен быть в состоянии достичь всех этих семи шагов. Он должен прочитать пользовательскую историю. Он должен создать план тестирования. Он должен провести исследовательское тестирование. Он должен автоматизировать все тестовые случаи из плана тестирования. А затем он должен выполнить все автоматизированные тестовые случаи, а затем исправить тесты, если какие-либо тесты не пройдут. Затем сгенерировать отчет о тестировании и затем отправить всю кодовую базу в ваш репозиторий Git с помощью одного промпта. Итак, теперь нам нужно подготовить этот один промпт для достижения этого сквозного рабочего процесса, используя все эти агенты и MCP-серверы. Я уже подготовил один промпт. Я скопирую существующий промпт. Итак, теперь позвольте мне показать вам, что это за промпт, который я подготовил. Итак, теперь, что я собираюсь сделать, я хочу создать здесь новый файл. Теперь я добавлю новый файл в родительскую папку здесь. Новый файл. Я назову его "QA end to end prompt file.md". Здесь я вставлю свой промпт. Промпт довольно длинный. Как я уже говорил ранее, очень важно подготовить промпт с большим количеством деталей. Если ваш промпт очень подробный, то результат будет идеальным. Итак, я вставлю промпт сюда. Хорошо. Сохраните это. Позвольте мне показать вам, что это за промпт. Хорошо. Открыть предварительный просмотр. Это мой полный промпт. Хорошо. Итак, здесь я говорю здесь. Итак, мой промпт заключается в том, что я пошагово определяю, что нужно сделать. Я не пишу ни строчки кода здесь. Хорошо, я пишу все на простом английском языке. Хорошо, позвольте мне просто развернуть это. Итак, здесь я говорю, что этот промпт проведет вас через полный семишаговый QA-рабочий процесс, используя MCP-серверы и ИИ-агентов, чтобы перейти от пользовательской истории к зафиксированным автоматизированным тестовым скриптам. Итак, каков мой первый шаг? Итак, здесь я четко говорю, что чтение пользовательской истории - это мой первый шаг. Каков промпт? Мне нужно начать новый рабочий процесс тестирования. Пожалуйста, прочитайте пользовательскую историю из файла. Это файл, верно? Это файл. Посмотрите здесь, я указываю путь: user stories/scrum101 e-commerce checkout.md. Отлично. Суммируйте ключевые требования, критерии приемки и область тестирования. Каков ожидаемый результат? Сводка пользовательской истории, список критериев приемки, URL спецификации, тестовые учетные данные и ключевые функции для тестирования. Каков мой второй шаг? Посмотрите здесь, теперь создайте план тестирования. Каков промпт? Основываясь на указанной здесь пользовательской истории scrum 101, которую мы только что рассмотрели, используйте [кашляет] агент Playwright Test Planner. Что я говорю здесь? Это тот, это мои агенты Playwright Test, верно? Я четко указываю: используйте агент Playwright Test Planner для чтения URL приложения из пользовательской истории и тестовых учетных данных из пользовательской истории, исследуйте приложение и поймите все рабочие процессы, упомянутые в критериях приемки. Этот агент читает критерии приемки и сам открывает приложение. Он исследует все области критериев приемки, а затем я говорю: создайте комплексный план тестирования, который охватывает все критерии приемки, включая сценарии счастливого пути, негативные сценарии, крайние случаи и граничные условия. Тестирование потока навигации, проверка элементов пользовательского интерфейса, и затем я говорю: сохраните план тестирования в папке specs. Посмотрите здесь, это моя папка specs. Сейчас она пуста, верно? У меня есть README.md, но у меня нет плана тестирования здесь, хорошо? И я инструктирую агента создать план тестирования с этим именем: source demo checkout test plan.md, и здесь я говорю: убедитесь, что каждый тестовый сценарий включает все это. Каков ожидаемый результат? А затем шаг третий. Каков мой третий шаг? Итак, на третьем шаге я проведу исследовательское тестирование. Правильно? Вот что я говорю здесь. Теперь мне нужно провести ручное исследовательское тестирование с использованием инструментов браузера Clear MCP. Пожалуйста, прочитайте план тестирования. Вам нужно провести исследовательское тестирование на основе созданного плана тестирования, а затем выполнить тестовые сценарии. Посмотрите, используйте инструменты браузера Playwright. Следуйте пошаговым инструкциям в каждом тестовом случае. Проверяйте ожидаемые результаты. Сопоставляйте фактические результаты. Делайте скриншоты. Документируйте свои находки. Правильно? Каков результат? Результаты ручного выполнения тестов. Скриншоты. Список наблюдений и находок. Находки. Обнаруженные проблемы. Затем каков мой четвертый шаг? Мой четвертый шаг - автоматическая генерация тестов с использованием чего? С использованием агента генератора тестов. Вот что я собираюсь сказать здесь. Теперь мне нужно создать автоматизированные тестовые скрипты с помощью агента Playwright Test Generator. Здесь я говорю: пожалуйста, просмотрите план тестирования. Я хочу, чтобы вы сгенерировали тесты. Я хочу, чтобы вы сгенерировали скрипты из планировщика тестов, который является моим вторым шагом, а также из третьего шага, который является моим предыдущим шагом исследовательского тестирования, верно? И используя идеи из ручного исследовательского тестирования, а затем сгенерируйте Playwright JavaScript. Посмотрите здесь, я четко говорю: создайте скрипты для каждого тестового сценария из плана тестирования, который является моим вторым шагом. Организуйте скрипты в соответствующие файлы наборов тестов. Посмотрите здесь, под tests, я прошу создать подпапку "source demo checkout", а внутри нее создать тестовые скрипты. Хорошо. А затем я говорю: вам нужно следовать лучшим практикам Playwright, включать правильные утверждения, использовать описательные имена тестов. Использовать надежные селекторы элементов. Добавлять комментарии. Использовать правильные стратегии ожидания. По сути, я даю все правила, которым нужно следовать, и настраиваю несколько браузеров: Chrome, Firefox, Safari, верно? А затем каков мой пятый шаг? Мой пятый шаг - выполнение и исправление тестов с использованием чего? С использованием Playwright Test Healer. Посмотрите здесь, это мой Playwright Test Healer. Теперь мне нужно выполнить сгенерированные автоматизированные скрипты и исправить любые сбои, используя агент Playwright Test Healer, и я определяю некоторые правила здесь. Как только это будет сделано, каков мой шаг? Шестой. Каков мой следующий шаг? Шаг шестой, сгенерировать отчет о тестировании. И здесь я четко указываю, что все это нужно учитывать для генерации сводки. Этот отчет должен содержать исполнительную сводку, результаты ручного тестирования, результаты автоматизированного тестирования, журнал дефектов, анализ покрытия тестов, сводку и рекомендации. Хорошо. А затем каков мой седьмой шаг? Мой седьмой шаг - фиксация всей кодовой базы в вашем Git с использованием сервера GitHub MCP. Вот что я указываю здесь. Посмотрите, я даю URL репозитория Git. Что это за URL репозитория? Это мой пустой репозиторий, который я создал на своем GitHub. Давайте скопируем это. Давайте перейдем в GitHub. Здесь вы можете увидеть, что это мой пустой репозиторий. Я создал пустой репозиторий. Я использую тот же URL здесь. Хорошо. Как только это будет сделано, теперь посмотрите здесь, что я даю промпт. Теперь мне нужно зафиксировать все артефакты тестирования в репозиторий Git, используя сервер GitHub MCP. Вместо агента я скажу MCP Server. Хорошо. Я скажу GitHub MCP Server. Отлично. И каков URL репозитория Git? И, пожалуйста, выполните следующие операции Git. Инициализируйте репозиторий Git, добавьте в индекс все файлы в рабочем пространстве, а затем зафиксируйте все файлы, такие как пользовательские истории, комплексный план тестирования, отчет о выполнении тестов, добавьте автоматизированные тестовые скрипты и все остальное, верно? Я инструктирую все, и это мой полный рабочий процесс, единый объединенный промпт. Я даю шаг первый, шаг второй, шаг третий, все, верно? Вот как вам нужно подготовить весь файл промпта для достижения сквозного QA-рабочего процесса одной командой или одним промптом. Чтобы сгенерировать этот промпт, вы можете обратиться за помощью к вашим большим языковым моделям, либо вы можете использовать Copilot, либо вы можете использовать ChatGPT. Вам просто нужно попросить ChatGPT или Copilot или любую другую большую языковую модель объяснить: я хочу достичь этого сквозного рабочего процесса, можете ли вы дать мне файл промпта? Тогда ваша LLM ответит вам черновиком файла промпта, а затем вы можете улучшить файл промпта с соответствующими папками проекта. Вам нужно заменить точный путь. Вам нужно заменить URL-адреса, которые вы хотите использовать, и, например, URL-адреса репозиториев GitHub и т. д. Правильно? Вам нужно настроить промпт. Теперь мы закончили с файлом промпта. Теперь в GitHub Copilot в VS Code я просто введу однострочный промпт, который читает наш файл промпта, который мы только что создали. Хорошо. Как только я введу однострочный промпт, GitHub Copilot начнет читать этот файл промпта, а затем начнет выполнять эти семь шагов и создавать артефакты. Он создает план тестирования. Он проводит исследовательское тестирование. Он захватывает локаторы элементов. Он генерирует скрипты автоматизации тестирования. Он выполняет скрипты. Если какие-либо сбои, если какие-либо скрипты сбойят, он автоматически исправляет их, а затем генерирует отчет о тестировании и напрямую отправляет его в репозиторий GitHub. Вот и все. Просто. Итак, позвольте мне показать вам магию. Хорошо. Теперь я скажу: теперь я хочу выполнить сквозной QA-рабочий процесс, используя множество агентов и MCP-серверов, которые я определил в текущем файле промпта. Позвольте мне указать имя файла здесь, и я скажу: выполните QA-рабочий процесс шаг за шагом, определенный в этом файле промпта. Вот и все. Нажмите Enter. Тогда что произойдет? Правильно? Этот агент GitHub Copilot достаточно интеллектуален, чтобы прочитать этот файл промпта. Английский язык. Что мы здесь используем? Это все на английском языке. Я не использую ни строчки кода. Это все ваш английский язык. Правильно? Он читает этот английский язык, а затем он может исследовать существующие агенты и MCP-серверы и может вызывать необходимый агент или необходимый MCP-сервер на определенных шагах в соответствующих шагах. Хорошо. Итак, теперь нажмите Enter и увидите магию. Вы можете просто читать здесь. Хорошо. Вы можете просто следовать за мной. Теперь вы просто сидите и расслабьтесь. Ваш агент, множество агентов и MCP-серверы позаботятся обо всем. Посмотрите здесь, я выполню сквозной QA-рабочий процесс. Позвольте мне сначала прочитать файл промпта. Посмотрите, он читает файл промпта. Хорошо. Я выполню сквозной QA-рабочий процесс шаг за шагом, определенный в файле промпта. Давайте начнем. Что он запускает сейчас? Он фактически запускает шаг первый: чтение пользовательской истории. Посмотрите, он читает пользовательскую историю сейчас. Отлично. Теперь он создаст план тестирования, ваш второй шаг. Итак, при выполнении второго шага, посмотрите здесь, он фактически использует ваш агент Playwright Test Planner. Он достаточно интеллектуален, чтобы инициировать агент Playwright Test Planner на основе промпта, который мы указали. Итак, теперь, что он делает, он фактически исследует приложение, а затем создает план тестирования, комплексный план тестирования, потому что ему нужно понять приложение, верно? Итак, MCP-сервер, Playwright MCP-сервер инициирует исследование приложения с помощью браузера Playwright MCP. Итак, теперь вы можете увидеть здесь, создание плана тестирования завершено. Где план тестирования? Давайте перейдем к нашему. Итак, где план тестирования? Посмотрите, это местоположение: source demo.t test plan. Посмотрите здесь. Нажмите на него. Нажмите здесь. Это ваш план тестирования. S demo checkout test plan. Это мой план тестирования. Посмотрите здесь, теперь он создал план тестирования с более чем 60 сценариями. Посмотрите здесь, сколько сценариев у нас есть? Один в первом случае использования у нас есть примерно четыре или пять тестовых случаев, а затем второй случай использования, а затем третий случай использования, верно? Итак, есть много тестовых случаев, которые он создал. Это мой план тестирования, весь план тестирования. Теперь посмотрите здесь, он переходит к шагу третьему для проведения исследовательского тестирования. Позвольте мне загрузить инструменты браузера Playwright, потому что для проведения исследовательского тестирования ему нужны инструменты браузера Playwright. Итак, теперь посмотрите здесь, теперь он говорит, что завершил создание плана тестирования. Теперь, теперь он также завершил проведение исследовательского тестирования. Посмотрите, сколько исследовательского тестирования он провел. Посмотрите, поток входа, добавление в корзину, проверка критериев приемки, верно? Итак, ключевые находки, он находит некоторые ключевые находки, хорошо? Теперь он переходит к шагу четвертому, посмотрите здесь, генерация скриптов автоматизации. Итак, откуда он будет генерировать скрипты автоматизации? Из вашего плана тестирования, из вашего плана тестирования и результатов исследовательского тестирования. Он учитывает оба, потому что в промпте я четко указал, что для четвертого шага вам нужно учитывать план тестирования, а также вам нужно учитывать результаты исследовательского тестирования, эти два. Хорошо. Итак, он прочитает все эти шаги, а затем начнет создавать скрипты тестов. При создании скриптов тестов он также убедится, что они будут запущены. Хорошо. Он запустит приложение и прочитает структуру DOM в реальном времени, чтобы рассмотреть лучшие локаторы для каждого объекта. В этом преимущество MCP. Это возможно благодаря MCP-серверу, Playwright MCP-серверу. Итак, посмотрите здесь, он теперь создает несколько файлов скриптов тестов для различных критериев приемки. Посмотрите здесь, теперь он создал все пять разных. Посмотрите, теперь здесь вы видите, что он начал шаг пятый, который является выполнением и исправлением тестов. Посмотрите здесь, шаг четвертый завершен. Он создал 1, 2, 3, 4, 5 всего пять разных файлов с несколькими тестами в каждом файле. Итак, теперь он перешел к вашему шагу пятому, который является самовосстановлением. Хорошо. Он собирается выполнить и исправить тесты. Он просит меня разрешить выполнение тестов. Я нажму "Разрешить". Итак, теперь посмотрите, он начнет выполнять тесты сейчас. Если какой-либо тест не пройдет, он исправит их. Посмотрите здесь, он создал 60 тестов. Почему? Посмотрите эти пять файлов, верно? В них 60 тестов, и он запускает все 60 тестов сейчас. Посмотрите здесь статус. Итак, позвольте мне переместить это влево. Посмотрите, он запускает 60 тестов с шестью рабочими процессами. Это означает шесть параллельных рабочих процессов. Так что это будет довольно быстро. Посмотрим. Посмотрите здесь, 11-й тест не пройден. 13-й тоже снова не пройден. Привет. Итак, он читает вывод терминала. Хорошо. Итак, посмотрите здесь, это все тесты, которые не прошли, верно? Итак, он исправит все не прошедшие тесты. Нет, посмотрите здесь, Playwright Test Healer включен для исправления тестов. Итак, теперь вы можете увидеть здесь, что он может запустить все тесты здесь. Хорошо. Итак, здесь, а затем теперь он спрашивает, переходя к шагу шестому, создание отчета о выполнении тестов, разрешить это. Итак, теперь он создает отчет о выполнении. Посмотрите здесь, он создал отчет о тестировании. Посмотрите, какой красивый отчет он создал. Откройте его и посмотрим здесь. Это мой отчет о тестировании. Предварительный просмотр этого. Посмотрите здесь, а затем теперь он перешел к шагу шестому, фиксация в GitHub. Посмотрите здесь, теперь перейдем сюда. Теперь, теперь переходим к шагу шестому, который заключается в фиксации в репозиторий Git. Между тем, просто изучите эти более 60 сценариев. Сколько выполнено? Сколько пройдено, верно? Итак, он предоставляет полную информацию, посмотрите здесь, все, что он предоставляет вам. Теперь посмотрите здесь, теперь он фиксирует все. У меня есть содержимое файлов. Теперь давайте используем git push. Это означает, что он фактически вызывает GitHub MCP Server и получает учетные данные. Итак, теперь вы видите здесь, он говорит: теперь я зафиксирую все артефакты тестов в репозиторий Git, используя сервер GitHub MCP. Он просит меня предоставить одобрение, потому что он получает доступ к моему персональному токену доступа. Итак, разрешите эту сессию. Итак, теперь это зафиксирует все. Посмотрите здесь. Теперь он запускает push файлов. Теперь я зафиксирую. Теперь посмотрите здесь. Отлично. Первый коммит успешен. Теперь давайте зафиксируем план тестирования. Правильно? Он фиксирует план тестирования. Итак, давайте перейдем в репозиторий GitHub между тем. Итак, здесь это мой пустой. Как только я обновлю, теперь здесь должны быть все файлы. Посмотрите, сначала он зафиксировал пользовательскую историю. Поэтому теперь я вижу пользовательские истории. Теперь он собирается зафиксировать мой план тестирования. Итак, отлично, зафиксирован план тестирования. Теперь план тестирования зафиксирован. Позвольте мне посмотреть здесь. Теперь обновите. Посмотрите, ваш план тестирования зафиксирован. specs, а затем это ваш план тестирования. Посмотрите весь комплексный план тестирования, который мы создали, верно? Это ваш план тестирования. Посмотрите весь комплексный план тестирования, созданный агентом Playwright Planner. Отлично. Теперь он фиксирует ваши файлы скриптов тестов. Отлично. Ваши скрипты тестов также готовы. Давайте перейдем и посмотрим здесь. Теперь. Давайте вернемся. Посмотрите здесь, скрипты тестов также готовы. Посмотрите здесь, сколько тестовых сценариев у нас есть. Итак, это все тестовые скрипты, которые мы автоматизировали. Все эти автоматизированные тестовые случаи, тестовые случаи, он уже зафиксировал в GitHub. Теперь он также фиксирует все отчеты о тестировании. Итак, ваши отчеты о тестировании здесь, зафиксируйте отчет о выполнении тестов, чтобы завершить рабочий процесс. Отлично. Теперь вы видите, что сквозной QA-рабочий процесс завершен. Что является входом для этого сквозного QA-рабочего процесса? Если вы помните, мы просто создали пользовательскую историю и подготовили один файл промпта. Вот и все. Я ввел небольшой промпт для выполнения действий в соответствии с файлом промпта. Что он делает? Он делает магию. Он выполнил весь сквозной QA-рабочий процесс. Он прочитал пользовательскую историю. Он создал весь план тестирования, а затем провел ручное исследовательское тестирование. Посмотрите здесь, это все критерии приемки, которые он рассмотрел, а затем он сгенерировал автоматизированные тестовые скрипты, а затем выполнил и исправил тестовые скрипты, и он создал отчет о выполнении тестов. Он зафиксировал его в репозиторий Git. Правильно? Это все окончательное покрытие тестами. Отлично. Итак, теперь я могу сохранить все файлы. Посмотрите, давайте нажмем "Сохранить все файлы". Отлично. Мы смогли достичь сквозного QA-рабочего процесса с помощью простого промпта на естественном языке. Один промпт. Он позаботился обо всем. Что такое промпт? Это промпт. Итак, он выполнил все шаги и зафиксировал код также в репозиторий, а затем ваш конвейер будет запущен автоматически. Это магия агентурного ИИ с использованием множества агентов и множества MCP-серверов. Если у вас есть какие-либо вопросы, оставьте свои вопросы в разделе комментариев. Я постараюсь ответить на ваши вопросы. Спасибо. Надеюсь, вы все поняли концепции сегодняшнего урока, где я объяснил вам, как мы можем построить сквозной QA-рабочий процесс с помощью множества ИИ-агентов и MCP-серверов с помощью простого промпта на естественном языке. Пожалуйста, подпишитесь на канал. Нажмите на значок колокольчика. Вы будете получать уведомления, когда я буду публиковать новые видео. Не забудьте поставить лайк и поделиться видео. Спасибо.