Главная › Claude Code › Автоматизация QA
ОбзорУстановкаСправочник CLIЦены и лимитыAgent SDKНавыки и плагиныGitHubВеб, настольное приложение и IDEМоделиОшибкиОткрытый исходный код?Практическое руководствоДля студентовАвтоматизация QAСравнение с CursorСравнение с Codex и OpenCodeСубагентыХукиMCPЭкосистемаVS CodeOpenRouterОграничения частоты запросовРуководство на китайском языке
Последнее обновление: 11 октября 2026

Как использовать Claude Code для автоматизации QA

Claude Code особенно хорошо справляется с задачами QA, потому что может самостоятельно пройти весь цикл: написать тест, запустить его, прочитать сообщение о сбое, исправить тест или код и запустить снова. В этом руководстве разобрана практическая настройка — от первого сгенерированного файла тестов до запуска без интерфейса для каждого запроса на слияние.

TLDR

  • Укажите команду запуска тестов в CLAUDE.md, и агент будет писать, запускать и исправлять тесты без дополнительных указаний.
  • Лучшие исходные данные: спецификация, отчёт об ошибке с шагами воспроизведения или существующий файл тестов в качестве образца.
  • Без интерфейса: claude -p на --allowedTools в CI; GitHub Action делает то же самое для запросов на слияние.
  • Сквозное тестирование: сервер Playwright MCP позволяет агенту управлять настоящим браузером; такие сеансы лучше делать короткими.

Что Claude Code может делать в процессе QA

  • Генерировать модульные тесты для модуля в принятом в проекте стиле и с используемым фреймворком.
  • Превращать отчёт об ошибке в падающий регрессионный тест, а затем исправлять код, пока тест не пройдёт.
  • Добавлять недостающие граничные случаи в существующий набор тестов (пустой ввод, Unicode, тайм-ауты, параллельное выполнение).
  • Писать сквозные тесты для Playwright или Cypress и с помощью браузерного сервера MCP запускать их на работающем приложении.
  • Разбирать неудачный запуск CI: читать журнал, находить причину, предлагать или применять исправление.
  • Проверять запрос на слияние на наличие непокрытых тестами путей выполнения и публиковать результаты.

Чего он не может — так это решить, что важно. Он охотно доведёт покрытие строк до 100% тестами, которые не проверяют ничего полезного. Качество результата зависит от качества инструкций, поэтому настройка ниже начинается с файла памяти, а не с промпта.

Настройка: объясните, как запускать тесты

# CLAUDE.md
## Testing
- Unit tests: `npm test` (vitest). Files live next to the source as `*.test.ts`.
- E2E: `npx playwright test`, specs in `e2e/`. Needs the dev server: `npm run dev`.
- Always run the relevant test file after editing it. Do not mark a test `.skip` to make the suite pass.
- Prefer table-driven tests; one behaviour per `it()`; no snapshot tests for logic.

Этот блок отличает агента, который гадает, от агента, который ведёт себя как коллега, прочитавший руководство для участников проекта. Добавьте желаемый стиль проверок и то, чего делать нельзя (подменять базу данных моками, пропускать тесты, редактировать фикстуры под неверный результат).

Генерация тестов по спецификации или отчёту об ошибке

> Read src/billing/prorate.ts. Write vitest tests covering the documented behaviour in
  docs/billing.md, including month boundaries, leap years and a zero-day period.
  Run them; if any fail, tell me whether the code or the doc is wrong before changing code.
> Bug #412: uploading a 0-byte file returns 500 instead of 400. Write a failing test that
  reproduces it, then fix the handler so the test passes. Do not touch other tests.

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

Цикл запуска и исправления

Попросите агента запустить тест после его написания. Он прочитает вывод со сбоем, внесёт изменения и запустит тест снова — обычно хватает двух-трёх итераций. Следите за запросами разрешения: разрешите Bash(npm test*) и Bash(npx playwright test*) один раз с помощью /permissions чтобы цикл не прерывался, а для разрушительных команд оставьте запрос подтверждения. Если агент повторяет цикл больше четырёх-пяти раз для одного теста, остановите его: вероятно, тест проверяет не то, что нужно, и требуется проверка человеком.

Запуск без интерфейса в CI

# generate regression tests for whatever changed, non-interactively
git diff --name-only origin/main...HEAD | grep -E 'src/.*\.ts$' > changed.txt
claude -p "For each file in changed.txt, add or extend tests for the changed behaviour. Run them." \
  --allowedTools "Read,Edit,Write,Bash(npm test*),Bash(git diff*)" \
  --max-turns 25 --output-format json > claude-qa.json

Режим вывода никогда не задаёт вопросов, поэтому все допустимые действия нужно заранее разрешить с помощью --allowedToolsи --max-turns ограничивает число итераций цикла. Задайте ANTHROPIC_BASE_URL=https://aiprimetech.io и ключ шлюза как секреты CI, и запуск будет оплачиваться из баланса шлюза или в рамках безлимитного тарифа. Сохраните результат коммитом в отдельной ветке и передайте на проверку человеку — не выполняйте автоматическое слияние сгенерированных тестов.

Для каждого запроса на слияние: GitHub Action

GitHub Action для Claude Code запускает тот же цикл, когда кто-то оставляет комментарий @claude в pull request или автоматически при его открытии. Инструкция в рабочем процессе, ориентированная на QA, — «проверь этот PR на наличие ветвей кода, не покрытых тестами, и добавь для них тесты» — обеспечивает первичную проверку каждого PR до того, как его посмотрит ревьюер. Руководство по GitHub описывает установку приложения, файл рабочего процесса и затраты.

Сквозные тесты с Playwright

Два уровня. Без браузера он пишет спецификации Playwright на основе структуры страницы и вашего описания, а вы запускаете их. С подключённым сервером Playwright MCP (/mcp) он может открыть приложение, пройти сценарий с помощью кликов, прочитать DOM и написать тест, соответствующий увиденному, — селекторы получаются гораздо надёжнее, но сеанс занимает больше времени. Ограничивайте каждый сеанс браузера одним сценарием и /clear между ними; снимки экрана и дампы DOM занимают много места и повторно отправляются на каждом ходе.

Как снизить стоимость запусков QA

  • Используйте уровень Sonnet; для генерации тестов Opus нужен редко. Уровень Haiku подходит для разбора логов.
  • Направляйте его на один модуль или одну ошибку за раз. «Добавь тесты для всего репозитория» — самый дорогой из возможных запросов.
  • /compact после добавления каждого тестового файла; прочитанные им логи сбоев больше не нужны.
  • В CI задавайте ограничение с помощью --max-turns и запускайте только для изменённых файлов.
  • Для команды, которая запускает это ежедневно, безлимитный тариф с фиксированной оплатой полностью снимает вопрос оплаты за токены.
ПланСрок действияЦена
Безлимит на 1 час1 час$1
Безлимит на 24 часов24 часа$10
Безлимит на 1 неделю1 неделя$49
Безлимит на 15 дней15 дней$89

Все безлимитные тарифы →

Сначала попробуйте бесплатно

Новые аккаунты получают $5 бесплатного баланса для API по коду CLAUDECODE — этого хватит на вечер работы с Claude Code на Sonnet — затем кредиты с балансом в 7.69231 раза больше номинала.

export ANTHROPIC_BASE_URL=https://aiprimetech.io
export ANTHROPIC_API_KEY=your_key

Создать аккаунт с кодом CLAUDECODE

Часто задаваемые вопросы

Может ли Claude Code писать модульные тесты?

Да — с использованием принятого в проекте фреймворка и стиля, если они указаны в CLAUDE.md. Попросите его затем запустить тесты, чтобы он исправил собственные ошибки.

Может ли Claude Code запускать тесты Playwright?

Да. Он может самостоятельно писать спецификации, а с сервером Playwright MCP — управлять настоящим браузером для их создания и проверки.

Подходит ли Claude Code для автоматизации QA?

Для генерации тестов, выполнения цикла «написать — запустить — исправить» и разбора сбоев CI — очень хорошо. Он не заменяет решение о том, что нужно тестировать, а сгенерированные тесты всё равно требуют проверки человеком перед слиянием.

Как запускать Claude Code в CI для тестирования?

Используйте claude -p с --allowedTools и --max-turns, храните учётные данные шлюза или Anthropic в секретах и фиксируйте результат в отдельной ветке для проверки. GitHub Action оборачивает тот же процесс для pull request.

Запускайте Claude Code через шлюз

Те же модели, две переменные окружения, кредиты с балансом в 7.69231 раза больше номинала — или безлимитный тариф с фиксированной оплатой. Для новых аккаунтов: $5 бесплатного баланса для API по коду CLAUDECODE.

Получить API-ключ Посмотреть безлимитные тарифы

AI Prime Tech — независимый API-шлюз, который не связан с Anthropic, не одобрен и не спонсируется этой компанией. «Claude» и «Claude Code» — товарные знаки Anthropic. Описанные здесь возможности Claude Code соответствуют публичной документации Anthropic на момент написания и часто меняются; цены и списки моделей на этой странице берутся из текущих настроек шлюза.

Другие руководства по Claude Code

Claude Code: полное руководствоКак установить Claude CodeДокументация CLI Claude Code: команды и флагиЦены и лимиты Claude Code: подробное объяснениеClaude Code SDK, теперь Claude Agent SDKНавыки и плагины Claude CodeClaude Code в GitHub: App, Action и @claudeЕсть ли у Claude Code веб-интерфейс? Веб-версия, настольное приложение и IDEКакую модель использует Claude Code и как её изменитьОшибки Claude Code и способы их исправленияОткрыт ли исходный код Claude Code?Практическое руководство по Claude Code: ваш первый полноценный сеансClaude для студентов: Claude Code, API и что на самом деле дают образовательные программыClaude Code и Cursor: что и когда выбрать — и как использовать оба инструментаClaude Code, Codex и OpenCode: сравнение терминальных агентовСубагенты Claude Code: как они работают, как их определять и как устроены команды агентовХуки Claude Code: детерминированный контроль над действиями агентаMCP в Claude Code: подключение серверов, области действия, удалённый MCP и реальные примерыЭкосистема Claude Code: маршрутизаторы, фреймворки, плагины и списки, в которых они собраныClaude Code в VS Code: расширение, работа через терминал и ошибкиКак использовать OpenRouter в Claude Code и когда этого делать не стоитОшибка ограничения частоты запросов Claude: что означает «API error: rate limit reached» и как её исправитьКак пользоваться Claude Code: от установки до повседневной работы