Модуль 2 · Урок 5

Test levels: об’єкти, цілі й відповідальність

Test level — це не назва інструмента і не ступінь «серйозності». Він групує activities навколо конкретного test object, його interfaces, ownership, basis та decision.

ComponentIntegrationSystemAcceptance

П’ять рівнів як різні об’єкти доказу

LevelОсновний objectТипова цільХто використовує evidence
ComponentФункція, class, service unitПеревірити local logic та boundariesDeveloper / component owner
Component integrationInterfaces між componentsКонтракти, data flow, error handlingDevelopers та QA
SystemПовний продукт у test environmentEnd-to-end functional/non-functional behaviorQA, product, release owner
System integrationSystem-to-system interactionsExternal contracts, retries, compensationIntegration/release owners
AcceptanceГотовий продукт у business contextFitness, readiness, contract або regulationCustomer, product owner, authorized stakeholder

Level визначає object, не середовище

API можна тестувати на component integration, system або system integration level — залежно від boundary. UI-тест не автоматично «system test», а unit test не автоматично доводить integration. Запишіть object, interfaces, test basis, environment doubles та хто ухвалює рішення.

ObjectЩо саме ізольовано або включено?
ObjectiveЯкий ризик і decision підтримує evidence?
ResponsibilityХто створює, виконує та приймає результат?

Shift-left без втрати right-side evidence

Більше component checks дає швидкий feedback, але не замінює system behavior, зовнішні integrations або acceptance. Піраміда не є квотою: scope залежить від architecture, risk, observability і вартості failure.

Поширена помилка

«Це перевірено unit tests» не є release evidence для бізнес-процесу, якщо integration, configuration, data, browser або external provider лишилися поза object.

Практика BookFlow

  1. Розкладіть зміну правила подвійного бронювання на п’ять test objects.
  2. Для кожного сформулюйте objective, basis, environment, owner та exit rule.
  3. Позначте doubles/stubs і те, чого вони не доводять.
  4. Зв’яжіть residual risk із наступним level, а не приховуйте його.

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

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

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

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

1. Що найкраще визначає test level?
2. Який object має component integration testing?
3. Що відрізняє system integration від system testing?