Проект обрабатывает финансовые данные: вход синхронный по API, далее асинхронная коммуникация через Kafka. Как бы ты организовал его тестирование?

Разделите тестирование на API-контракт, публикацию событий, обработку consumers и сквозные финансовые инварианты; особое внимание — повторам, порядку, отказам и сверке состояния.

Короткий ответ

Что ответить на собеседовании

Разделите тестирование на API-контракт, публикацию событий, обработку consumers и сквозные финансовые инварианты; особое внимание — повторам, порядку, отказам и сверке состояния.

Подробный разбор

Ответ с пояснениями

Разделите тестирование на API-контракт, публикацию событий, обработку consumers и сквозные финансовые инварианты; особое внимание — повторам, порядку, отказам и сверке состояния.

Для входного API проверяют валидацию, права и идемпотентность. Для Kafka — схему, ключ и связь с операцией. Consumers проверяют на повторную и запоздалую доставку, восстановление после сбоя и ошибочные сообщения. Денежные расчёты должны быть точными, без двойного списания или потери операции. В E2E используют уникальные данные и ограниченное ожидание, а не sleep. Неопределённый результат требует reconciliation; внешние платежи в обычных тестах подменяют.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее