Стратегія тестування починається з ризику

Команда «згенеруй тести» не є стратегією. Спочатку потрібно визначити, яку поведінку слід довести, які помилки найдорожчі, на якому рівні тест дасть найкращий сигнал і що свідомо залишиться поза межами PR.

Claude Code може допомогти спроєктувати набір перевірок і розкласти ризики, але рішення про достатність тестування залишається за інженером.

  1. Прочитайте специфікацію та acceptance criteria.
  2. Перегляньте змінені й повʼязані файли.
  3. Визначте business risk і change risk.
  4. Зафіксуйте TEST_STRATEGY.md або секцію стратегії в задачі.
  5. Виберіть рівні тестування для пріоритетних сценаріїв.
  6. Після реалізації запустіть checks і проаналізуйте diff.

Два виміри risk-based testing

ВимірПриклади сигналів
Business riskФінанси, доступ, дані, публічний API, критичний user flow, довіра
Change riskВеликий diff, кілька шарів, новий модуль, слабке покриття, інтеграції
Високий пріоритетОбидва ризики значні — потрібен сильніший і точніший evidence
Низький пріоритетМала зміна та низька ціна помилки — достатньо локальної перевірки

Різні рівні плану та review не слід плутати

L1 verification може означати загальний план: потрібні regression, API та smoke-перевірки. L2 verification деталізує конкретні сценарії, рівні тестування та їхнє обґрунтування. Layer 2 review — окремий CI або review-етап, а не назва тестового рівня.

РішенняПитання
L1 verificationЯкі категорії перевірок потрібні?
L2 verificationЯкі конкретні inputs, рівні й assertions потрібні?
Layer 2 reviewЧи може технічний gate пропустити зміну далі?

Приклад TEST_STRATEGY.md

Мінімальна структура стратегії
# Test strategy

## Unit
- ...

## Integration / API
- ...

## Smoke
- ...

## Manual checks
- ...

## Risks not covered
- ...

Coverage — індикатор, а не мета

  • Високий відсоток покриття не гарантує захисту критичного flow.
  • Coverage допомагає бачити сліпі зони та падіння покриття після змін.
  • Другорядні форматери можуть підняти цифру, не захистивши refund або payment flow.
  • Основним критерієм має бути якість evidence щодо ризикової поведінки.
  • Під час планування Claude не повинен одразу генерувати тестовий код.

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush