intermediate

Test pyramid и risk-based coverage

Используйте pyramid как feedback heuristic: много fast deterministic checks, меньше cross-boundary tests и targeted E2E flows для business risk.

Пирамида тестов — эвристика обратной связи, а не квота: внизу много быстрых unit-проверок, выше — меньше integration-тестов через реальные границы, сверху — тонкий слой E2E для критичных пользовательских сценариев. Покрытие по рискам означает вложения там, где сбой дорог — платежи, авторизация, потеря данных, — а не там, где просто много кода.

					        / E2E \
       /-------\
      / Integr. \
     /-----------\
    /    Unit     \
				

Балансируйте скорость и уверенность: unit дают точную локализацию, integration ловит ошибки стыковки, E2E подтверждает, что продукт работает для пользователя.

На интервью: объясните, почему перевёрнутая пирамида (много медленных UI-тестов) даёт flaky CI и медленную обратную связь, и как вы перераспределите усилия по рискам.

Типовые ошибки: воспринимать пропорции как закон, пропускать integration «потому что unit зелёные», гонять полный E2E на каждый edge case.

Компромисс — быстрая обратная связь против более широкой уверенности: больше E2E повышает доверие, но умножает поддержку и флейки.

Чеклист:

  • Назовите три слоя и что каждый ловит.
  • Свяжите покрытие с бизнес-риском, а не только с line coverage.
  • Опишите, как ужать раздутый E2E-набор.