Модуль 8 · Урок 32
Workflows, pagination, concurrency й automation
Operation-by-operation checks не доводять workflow. API suite має керувати synthetic data, state transitions, collection traversal, asynchronous outcomes, cleanup та повторним запуском.
Моделюйте 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.
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.
| Risk | Oracle |
|---|---|
| Mutation between pages | Contract визначає snapshot/cursor behavior; duplicates/omissions measured. |
| Unstable sort | Secondary unique key або documented nondeterminism. |
| Filter leakage | Results and totals include only authorized objects. |
| Oversized page | Bounded 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.
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.
Офіційні джерела
Модуль 8 завершено
Після тесту прогрес стане 32/32 уроків. Проєкт 2 відкриється для приватного review; фінал і PDF лишаються закритими до 44 уроків та трьох accepted projects.
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.