Skip to content

Тест-планы, требования и аналитика ​

Тест-планы ​

  • GET /api/plans, POST /api/plans, GET|PUT|DELETE /api/plans/:key — сохранённая подборка кейсов (caseIds) для многократного выполнения. Ключи — TP-1, TP-2, … в каждом проекте. У тест-плана должно быть название, и каждый указанный ключ должен быть кейсом проекта; каждый кейс входит в план один раз. milestoneKey (ключ или название, null — снять) называет майлстоун, для которого выполняется план; план возвращается с milestoneKey и milestoneName.
  • GET /api/plans/:key/cases — кейсы плана, а в missing — ключи кейсов, удалённых с тех пор. POST /api/plans/:key/cases { caseIds } добавляет кейсы, пропуская те, что уже есть в плане.
  • GET /api/plans/:key/progress — состояние плана по всем его прогонам: для каждого кейса — последний вердикт, который дал ему любой прогон плана (status, customStatus, runId, executedAt, executedBy), totals по вердиктам и runs — сколько прогонов прочитано. Если план выполнялся в двух конфигурациях или больше, есть также byConfiguration: [{ label: "Chrome", totals }].
  • GET /api/plans/:key/testplan — автотесты плана в формате файла, который читают адаптеры Allure (ALLURE_TESTPLAN_PATH): { version: "1.0", tests: [{ id?, selector? }] }, а рядом automated и manual (ключи кейсов без автотеста). Читается и ключом CI с правом runs:import; так его берёт kvalli testplan — см. Автотесты тест-плана в CI.
  • POST /api/plans/:key/pipeline { branch?, sourceId?, workflowName?, workflowFile? } — запустить пайплайн CI с KVALLI_PLAN = ключ плана (201, { pipeline, automated, manual }; нужно pipelines:trigger). План без единого автотеста не запускается (400). Результаты, загруженные из этого пайплайна, относятся к плану.

Ручной прогон по тест-плану запускается через POST /api/runs/manual с planKey — см. Ручные прогоны. О версиях плана при одновременном редактировании — в разделе Одновременное редактирование.

Требования и трассируемость ​

  • GET /api/requirements — требования с кейсами, привязанными к каждому.
  • POST /api/requirements — создать требование. Ключ можно передать (импортированный SHOP-42), иначе он назначается как REQ-n.
  • GET|PUT|DELETE /api/requirements/:key — прочитать, изменить или удалить требование. Ссылка требования должна быть адресом http(s).
  • POST /api/requirements/:key/cases, DELETE /api/requirements/:key/cases/:caseId — привязать или отвязать тест-кейс.
  • GET /api/requirements/coverage — по каждому требованию: сколько кейсов его покрывают и что сказал о каждом последний прогон. Учитывается только самый последний вердикт кейса, а привязанный кейс, который ни один прогон не выполнял, показывается как ни разу не запускавшийся, а не как пройденный.

Аналитика ​

Эндпоинты /api/analytics входят в модуль analytics (тариф Pro).

GET /api/analytics/summary?days=30 — процент прохождения и его тренд, процент прохождения по наборам, самые часто падающие тесты и нестабильные тесты. Тест считается нестабильным, если в пределах окна он и проходил, и падал на одном и том же окружении; вместе с ним возвращается число смен вердикта. Результаты тестов, не назвавших кейс, не относятся ни к какому набору; их число возвращается как unlinkedResults.

Документация описывает последний выпуск Kvalli.