> · 6 мин

AI вместо тестировщика: Claude Code, Playwright MCP и инструменты, которые ломают ваш софт за вас

AI вместо тестировщика: Claude Code, Playwright MCP и инструменты, которые ломают ваш софт за вас

AI вместо тестировщика: Claude Code, Playwright MCP и инструменты, которые ломают ваш софт за вас

Ручной тестировщик стоит денег, устаёт, пропускает edge cases и уходит в отпуск. AI-агент работает 24/7, не жалуется на рутину и находит баги, которые люди пропускают месяцами. Звучит как маркетинговый булшит — но в 2026-м это уже рабочий стек.

TL;DR: Claude Code + Playwright MCP превращается в полноценного QA-инженера, который открывает браузер, кликает кнопки, заполняет формы и скриншотит баги. Для PHP/Laravel — Pest + Claude Code генерирует и запускает тесты по одной команде. А если хочется готовое решение — testRigor, Momentic и Bug0 делают то же самое из коробки.

Claude Code + Playwright MCP: твой QA в терминале

Самый мощный (и бесплатный) вариант — подключить Playwright MCP к Claude Code. Одна команда:

claude mcp add playwright npx '@playwright/mcp@latest'

После этого Claude Code получает 25+ инструментов для управления браузером: навигация, клики, ввод текста, скриншоты, работа с вкладками, чтение консоли. И главное — он сам решает, какой инструмент использовать.

Говоришь ему:

Открой http://localhost:8000, залогинься admin/admin, 
перейди в раздел "Заказы", создай новый заказ с пустыми полями 
и проверь, что показываются ошибки валидации.

Claude открывает реальный Chrome, кликает по кнопкам как настоящий пользователь, а ты наблюдаешь. Важный момент — браузер видимый, не headless. Если нужно ввести пароль от рабочего аккаунта, вводишь сам, а Claude продолжает тестирование с авторизованной сессией. Cookies сохраняются на всю сессию.

Автоматический QA на каждый PR

Ещё круче — встроить это в CI/CD через GitHub Actions. Один разработчик описал setup, где при добавлении лейбла на PR автоматически запускается Claude QA:

name: Claude QA
on:
  pull_request:
    types: [labeled]

jobs:
  qa:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: pnpm dev & sleep 10
      - uses: anthropics/claude-code-action@v1
        with:
          claude_args: |
            --mcp-config '{"mcpServers":{"playwright":{
              "command":"npx",
              "args":["@playwright/mcp@latest","--headless"]
            }}}'

Флаг --headless обязателен для CI — там нет дисплея. Claude получает ограниченный набор инструментов (только браузерные), чтобы тестировать как настоящий black-box QA без подглядывания в код.

Результат — комментарий к PR с отчётом: что проверил, что сломалось, скриншоты багов. Без единой строчки тестового кода.

Шесть агентов вместо одного тестировщика

Команда OpenObserve пошла дальше — вместо одного AI-тестировщика они собрали конвейер из шести специализированных агентов:

  • Analyst — изучает код, извлекает data-test селекторы, маппит пользовательские сценарии
  • Architect — создаёт приоритизированный тест-план (P0 — критический путь, P1 — основная функциональность, P2 — edge cases)
  • Engineer — генерирует Playwright-тесты по Page Object Model
  • Sentinel — аудитирует код на антипаттерны и блокирует пайплайн при критических проблемах
  • Healer — запускает тесты, диагностирует падения, чинит автоматически (до 5 попыток на тест)
  • Scribe — документирует тесты в TestDino

Каждый агент — это Claude Code slash-command в .claude/commands/. Версионируется вместе с кодом в Git.

Результаты: генерация тестов ускорилась с часа до 5 минут, количество тестов выросло с 380 до 700+, flaky-тесты сократились на 85%. А главное — Healer нашёл продакшн-баг в парсинге URL ServiceNow, который жил незамеченным.

PHP и Laravel: Pest + Claude Code

Для PHP-проектов на Laravel связка простая — Pest (или PHPUnit) + Claude Code. Ключ — правильный CLAUDE.md в корне проекта:

## Testing
- Framework: Pest PHP
- Run tests: `php artisan test` or `./vendor/bin/pest`
- Use it() blocks, chained expectations, higher-order tests
- Integration-first: test through HTTP endpoints, not unit classes
- Always run tests after writing them

После этого говоришь Claude Code:

Напиши тесты для OrderController — создание заказа, 
валидация полей, проверка прав доступа. Используй Pest.

Получаешь готовые тесты:

it('creates an order with valid data', function () {
    $user = User::factory()->create();

    $response = $this->actingAs($user)
        ->postJson('/api/orders', [
            'product_id' => Product::factory()->create()->id,
            'quantity' => 3,
        ]);

    $response->assertCreated()
        ->assertJsonPath('data.quantity', 3);
});

it('rejects order without product_id', function () {
    $response = $this->actingAs(User::factory()->create())
        ->postJson('/api/orders', ['quantity' => 1]);

    $response->assertUnprocessable()
        ->assertJsonValidationErrors(['product_id']);
});

it('forbids guests from creating orders', function () {
    $this->postJson('/api/orders', [
        'product_id' => 1,
        'quantity' => 1,
    ])->assertUnauthorized();
});

Claude Code сам запустит php artisan test, увидит результаты, починит упавшие тесты. Для browser testing Laravel-приложений — всё тот же Playwright MCP. Запускаешь php artisan serve, говоришь Claude открыть http://localhost:8000 и проверить пользовательские сценарии через браузер.

TDD-режим

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

## TDD Workflow
1. Write the Pest test first
2. Run it — confirm it FAILS (red)
3. Write minimum implementation to pass
4. Run again — confirm it PASSES (green)
5. Refactor if needed, run tests again

Claude Code будет следовать этому циклу автоматически.

Готовые AI QA платформы

Если не хочется собирать всё руками — есть платформы, где AI тестирует за тебя:

testRigor — пишешь тесты на обычном английском. Буквально: "Click login, enter email, verify dashboard loads." Поддерживает веб, мобайл, API, десктоп. Создание тестов быстрее в 15 раз, поддержка — на 95% меньше. Есть бесплатный триал.

Momentic — AI-агент сам исследует приложение, находит критические user flows, генерирует тесты и поддерживает их актуальными. Привлекли $15M Series A. Natural language locators, которые сами обновляются при изменении DOM.

Bug0 — managed AI QA с живыми инженерами на проверке. AI создаёт и запускает тесты, люди верифицируют результаты. От $250/мес за студию, от $2,500/мес за managed QA.

QA Wolf — полностью управляемый сервис. 80% покрытия за 4 месяца, zero-flake гарантия. Стоит серьёзно: от $8,000/мес за 200 тестов. Но включает создание, поддержку, инфраструктуру и человеческую верификацию.

Кому это важно

  • Разработчику — подключи Playwright MCP к Claude Code за 30 секунд (claude mcp add playwright npx '@playwright/mcp@latest') и начни тестировать свой localhost через браузер прямо из терминала. Для PHP/Laravel — настрой CLAUDE.md с Pest-конвенциями и пусть Claude пишет тесты
  • Тимлиду — шесть AI-агентов OpenObserve увеличили покрытие на 84% при том же размере команды. Claude QA в GitHub Actions — это автоматический QA-ревью на каждый PR без найма тестировщика
  • Следишь за рынком — ручной QA не умирает, но трансформируется. Тестировщики становятся "AI QA менеджерами" — настраивают агентов, верифицируют результаты, принимают решения по рискам. Рутина уходит к AI

Как попробовать

  1. Установи Playwright MCP:

    claude mcp add playwright npx '@playwright/mcp@latest'
    
  2. Запусти свой проект (для Laravel: php artisan serve)

  3. Скажи Claude Code:

    Используй playwright mcp, открой http://localhost:8000 
    и протестируй регистрацию нового пользователя — 
    попробуй пустые поля, невалидный email, слишком короткий пароль
    
  4. Для автоматических тестов — добавь в CLAUDE.md:

    ## Testing
    - Use Pest PHP with it() blocks
    - Run: php artisan test
    - Integration-first approach
    

    И попроси: "Напиши Pest-тесты для UserController"

  5. Для CI — добавь claude-code-action в GitHub Actions с Playwright MCP в headless-режиме

$ ls ./related/

Похожие статьи

subscribe.sh

$ cat /dev/blog/updates

> Свежие заметки о программировании,

> DevOps и AI — прямо в мессенджер

./subscribe