Как системы могут обмениваться данными? 🔄
В интеграционном тестировании важно понимать не только API, но и как именно системы обмениваются данными.
На слайдах собрала основные способы — сохраняй, пригодится и в работе, и на собеседовании 👇
🔹 Синхронные интеграции
Клиент отправляет запрос и ждёт ответ от сервера. Пока ответа нет, операция может быть заблокирована.
🔹 Асинхронные интеграции
Отправителю не нужно ждать результат. Обработка может произойти позже. Для этого используют, например, Polling или Webhook.
🔹 Брокеры сообщений
Система-производитель отправляет сообщение в брокер, а consumer забирает его, когда готов обработать.
Примеры: RabbitMQ, Kafka.
🔹 Интеграции в реальном времени
Данные передаются практически сразу после события.
WebSocket — двусторонний обмен.
SSE — поток событий от сервера к клиенту.
Также используются GraphQL Subscriptions.
🔹 Общая база данных
Несколько систем работают с одной БД напрямую. Такой подход создаёт сильную связанность и чаще встречается в legacy-системах.
🔹 Обмен файлами
Системы передают файлы через FTP/SFTP или общее хранилище. Например, CSV, XML или JSON.
А есть ещё способы, которые часто встречаются в современных системах:
🔹 SDK — готовый набор инструментов для взаимодействия приложения с сервисом. Особенно часто встречается в мобильной разработке.
🔹 API Gateway — единая точка входа перед backend-сервисами. Может отвечать за маршрутизацию, авторизацию, ограничения запросов.
🔹 CDC — передача изменений из базы данных дальше в другие системы, например через Kafka.
🔹 ETL / ELT — перенос и преобразование данных между источниками и хранилищами.
🔹 Push-уведомления, Deep Links, Object Storage — тоже часть интеграционного ландшафта мобильных и backend-систем.
Для QA главное понимать кто инициирует обмен, куда попадают данные, когда приходит результат и что произойдёт при ошибке.
Сохраняй шпаргалку 📌
И отправляй коллегам, которым тоже приходится тестировать интеграции.
подписывайся на @protestinginfo , здесь мы готовимся к собеседованиям
Post #5377
1.83K









- 🔥 12
- ❤ 7
- 👍 4