Концепции

Тесты и задачи

Определения тестов и их запуски

Тесты

Тест — это переиспользуемое определение: какой инструмент использовать, содержимое скрипта и конфигурация. Тесты имеют статусы:

СтатусЗначение
draftВ разработке, ещё не готов к запуску
activeМожет быть запущен
archivedОтключён, сохранён для исторической справки

Поддерживаемые инструменты

ТипОписание
k6Grafana k6 — на JavaScript, минимальные накладные расходы
jmeterApache JMeter — на XML, богатый функционал
locustНа Python, code-first подход
artilleryYAML / JS, отлично подходит для HTTP и WebSocket
gatlingScala / Java, enterprise-уровень
customСобственный бинарный файл

Задачи

Задача — это единичный запуск теста. При запуске теста создаётся запись задачи и отправляется на доступные машины.

Жизненный цикл задачи

pending → running → passed | failed | cancelled | timeout

Метрики результата

После завершения задачи записываются следующие метрики:

МетрикаОписание
p50Медианное время ответа в миллисекундах
p9595-й процентиль времени ответа
p9999-й процентиль времени ответа
errorRateДоля неуспешных запросов (0.0–1.0)
requestsPerSecПропускная способность при пиковой нагрузке
totalRequestsОбщее количество запросов за время задачи

Запуск задачи через API

curl -X POST http://localhost:8090/api/v1/tasks \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"testId": "your-test-id"}'

В ответ возвращается 202 Accepted с идентификатором задачи. Отслеживайте прогресс через GET /api/v1/tasks/{id}.