Концепции
Тесты и задачи
Определения тестов и их запуски
Тесты
Тест — это переиспользуемое определение: какой инструмент использовать, содержимое скрипта и конфигурация. Тесты имеют статусы:
| Статус | Значение |
|---|---|
draft | В разработке, ещё не готов к запуску |
active | Может быть запущен |
archived | Отключён, сохранён для исторической справки |
Поддерживаемые инструменты
| Тип | Описание |
|---|---|
k6 | Grafana k6 — на JavaScript, минимальные накладные расходы |
jmeter | Apache JMeter — на XML, богатый функционал |
locust | На Python, code-first подход |
artillery | YAML / JS, отлично подходит для HTTP и WebSocket |
gatling | Scala / Java, enterprise-уровень |
custom | Собственный бинарный файл |
Задачи
Задача — это единичный запуск теста. При запуске теста создаётся запись задачи и отправляется на доступные машины.
Жизненный цикл задачи
pending → running → passed | failed | cancelled | timeout
Метрики результата
После завершения задачи записываются следующие метрики:
| Метрика | Описание |
|---|---|
p50 | Медианное время ответа в миллисекундах |
p95 | 95-й процентиль времени ответа |
p99 | 99-й процентиль времени ответа |
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}.