Получить доступ

Тестирование

Основа с Junior

Юнит-тесты, интеграционные тесты с настоящей базой, контрактные тесты и тестовая пирамида.

Что важно знать

  • Юнит-тесты — логика без внешних систем, быстро и много.
  • Интеграционные — с настоящей базой и брокером в контейнерах (Testcontainers): ловят ошибки SQL, миграций, сериализации.
  • Моки — для внешних сервисов, не для собственной базы.
  • Контрактные тесты (Spring Cloud Contract, Pact) — сервисы не ломают друг друга при независимой выкатке.
  • Нестабильные тесты чинят сразу, иначе им перестают верить.
  • Тест проверяет поведение, а не внутреннее устройство.

Критерии освоения

Junior ≈ 8 ч

  • Пишет юнит-тесты на бизнес-логику с понятными сценариями
  • Подменяет зависимости там, где это уместно

Практика. Покрыть юнит-тестами сервис расчёта стоимости заказа со скидками, включая граничные случаи.

Middle ≈ 8 ч

  • Пишет интеграционные тесты с настоящей базой и брокером в Testcontainers
  • Тестирует API сервиса и обработку ошибок
  • Вводит контрактные тесты между сервисами

Практика. Написать интеграционные тесты репозитория и обработчика сообщений на Testcontainers с PostgreSQL и Kafka.

Senior ≈ 4 ч

  • Выстраивает стратегию тестирования сервиса — что и каким уровнем покрывать, как держать тесты быстрыми и стабильными

Практика. Провести аудит тестов сервиса — время прогона, нестабильные тесты, пробелы покрытия — и план улучшений.

Вопросы с собеседований

Разборы темы

← Вся карта «Backend-разработчик»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем