Модуль 8 · Урок 32

Workflows, pagination, concurrency й automation

Operation-by-operation checks не доводять workflow. API suite має керувати synthetic data, state transitions, collection traversal, asynchronous outcomes, cleanup та повторним запуском.

State workflowsPaginationConcurrencyCollection runner

Моделюйте lifecycle resource

Для booking задайте states і allowed transitions: draft → confirmed → cancelled/expired. Кожний step має precondition, operation, response contract, persisted state, audit/event і forbidden effects. Перевірте invalid order, repeated action, stale version та dependent failure.

ArrangeCreate isolated synthetic member/book/stock і capture IDs.
ActExecute exact operation з trace/correlation context.
AssertStatus/schema plus state, ownership, events і invariants.
CleanupDelete/expire fixtures або restore namespace safely.

Collection assertions

Pagination testing перевіряє default/max size, first/middle/last/empty page, stable ordering, cursor invalidation, no duplicates/omissions і total/next-link semantics. Filter/sort combinations мають encoding, supported operators, deterministic tie-breaker і authorization before aggregation.

RiskOracle
Mutation between pagesContract визначає snapshot/cursor behavior; duplicates/omissions measured.
Unstable sortSecondary unique key або documented nondeterminism.
Filter leakageResults and totals include only authorized objects.
Oversized pageBounded response or documented validation error.

Concurrency та asynchronous outcomes

Одночасні updates можуть вимагати ETag/If-Match, version field, lock або conflict response. Test barrier synchronizes attempts; oracle перевіряє accepted winner, rejected stale write, no lost update і audit. Для 202/async operation потрібні status resource/callback/webhook contract, terminal states, timeout, duplicate delivery, signature/replay policy й eventual consistency window.

Sleep не є надійним oracle

Poll із deadline/backoff і terminal-state assertion; записуйте observed convergence, а не «почекали 5 секунд».

Automation contract

Collection/runner зберігає variables scopes, але secrets не комітяться. Tests мають deterministic data namespace, preflight, fail-fast для wrong environment, assertion messages, cleanup і machine-readable report. Randomness/clock controlled або записані; rerun не накопичує state.

Definition of Done
Frozen contract → versioned safe environment → traceable cases → controlled data → positive/negative/auth/workflow coverage → reproducible runner → redacted evidence → findings/limitations → cleanup verified.

API Testing Pack і проєкт

Заповніть inventory, test matrix, authorization/workflow/pagination sheets; адаптуйте safe collection і створіть portfolio report.

Завантажити API Testing Pack → Відкрити проєкт 2 →

Офіційні джерела

Модуль 8 завершено

Після тесту прогрес стане 32/32 уроків. Проєкт 2 відкриється для приватного review; фінал і PDF лишаються закритими до 44 уроків та трьох accepted projects.

Практична перевірка · урок 32 з 32

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Чому CRUD operation tests не доводять workflow?
2. Що має assert state transition test?
3. Що перевірити в pagination?