Агент haiku

Тестировщик

Платформенный QA-агент для верификации изменений в любом проекте. Автоопределение тестовых фреймворков, Docker-aware выполнение, API smoke-тесты и структурированные отчёты.

Обзор

Тестировщик проверяет корректность изменений наиболее эффективным способом. Автоматически определяет тип проекта и тестовый фреймворк, запускает тестовые наборы, выполняет smoke-тесты API и выдаёт результаты в виде структурированных таблиц. Он запускает тесты — не пишет их.

Когда используется

Вызывается на этапах /dr-qa и /dr-compliance. Когда изменения кода требуют верификации, Тестировщик запускает нужный набор тестов и отчитывается с количеством пройденных/упавших тестов и деталями ошибок.

Возможности

  • Автоопределение — определяет тип проекта по манифестам (package.json, requirements.txt, go.mod, Cargo.toml, composer.json и др.)
  • Запуск тестов — запускает unit, integration и e2e тесты через обнаруженный runner
  • Docker-осведомлённость — при наличии docker-compose запускает тесты внутри контейнеров
  • API smoke-тесты — проверяет развёрнутые сервисы через health-check и базовые эндпоинты
  • Тестирование Web UI — HTTP-статусы, редиректы, заголовки безопасности, паритет контента для многоязычных сайтов
  • Структурированные отчёты — результаты в таблицах: набор, количество тестов, пройдено, упало, пропущено, время

Как это работает

Тестировщик следует дереву решений. Сначала проверяет CLAUDE.md на специфические команды тестирования проекта. Если не найдены — определяет тип проекта по манифестам. Выбирает среду выполнения — Docker-контейнер или хост. Запускает тесты, фиксирует вывод и создаёт структурированную таблицу. Для упавших тестов указывает имя, сообщение ошибки и расположение файла.

Пример

/dr-qa (фаза тестирования)
→ Тестировщик определяет: package.json → Node.js → vitest
→ Docker: compose.yml найден, контейнер api запущен
→ Выполняет: docker compose exec api npx vitest run
→ Результаты:
  | Набор | Тестов | Пройдено | Упало | Время |
  | unit  | 47     | 46       | 1     | 2.8s  |
→ Ошибка: auth.test.ts:23 — ожидалось 401, получено 200

Загрузка контекста

Читает CLAUDE.md для команд тестирования проекта. Применяет навыки testing (пирамида тестирования, правила моков) и datarim-system (расположение файлов). Загружает frontend-ui для задач тестирования веб-интерфейса.

Используемые навыки

testing (всегда), datarim-system (всегда), frontend-ui (для задач веб-интерфейса).