Интеграционное тестирование системы — этап проверки программного обеспечения, при котором отдельные модули объединяются и тестируются на корректность взаимодействия. Оно следует после модульного тестирования и предшествует системному. Специалист по обеспечению качества (QA-инженер) подключается именно на этом уровне — не к отдельным функциям, а к стыкам компонентов, где unit-тесты уже не помогают. В статье — виды интеграций, методы, инструменты и пошаговый процесс.
Интеграционное тестирование — проверка того, как объединённые компоненты программной системы работают вместе. Согласно глоссарию ISTQB (международная организация по квалификации специалистов в области тестирования ПО), его цель — выявить дефекты на стыках: некорректная передача данных, несовместимость интерфейсов, нарушение логики при совместной работе модулей. Тестирование интеграции проверяет совместимость интерфейсов и надёжность системы как целого.
Учитесь бесплатно за счёт государства
Экономия до 100 000 ₽ на любой программе
Разработчик пишет модульные тесты — проверяет единицу кода в изоляции. QA-инженер подключается позже, когда компоненты уже объединены: нужно убедиться, что данные передаются правильно, API отвечает корректно, а бизнес-логика не ломается на стыке сервисов.
Интеграционное тестирование занимает второй уровень в пирамиде проверки ПО — выше модульного, ниже системного и сквозного.
| Уровень |
Объект |
Исполнитель |
Инструменты |
|---|---|---|---|
| Модульное (unit) | Единица кода (функция, класс) | Разработчик | JUnit, pytest |
| Интеграционное | Связи между компонентами | QA-инженер | Postman, Jaeger |
| Системное | Вся система целиком | QA-инженер | Selenium, TestRail |
| Сквозное (E2E — end-to-end) | Пользовательский сценарий | QA-инженер | Cypress, Playwright |
Модульное тестирование предшествует интеграционному: пока модули не проверены по отдельности, тестировать их совместную работу нет смысла.
Интеграции делятся на две группы: внутренние — взаимодействие компонентов внутри системы — и внешние, то есть связи со сторонними сервисами. Каждый вид требует отдельного подхода к тест-кейсам и инструментам.
Внутренние интеграции — связи между компонентами одной системы. Четыре основных вида:

Внешние интеграции — подключение к сторонним сервисам: OAuth-авторизации (Яндекс ID, ВКонтакте), платёжному шлюзу, картам. Реальные токены и реальные деньги при тестировании не используют — провайдеры предоставляют тестовую среду.
Для OAuth пишут два тест-кейса: позитивный (корректный токен, успешная авторизация) и негативный (просроченный или недействительный токен, ожидаемая ошибка). Банковский эквайринг тестируют на тестовых картах YooMoney или Cloudpayments: проверяют успешную оплату, отклонение по лимиту, сценарий возврата.

Метод выбирают в зависимости от архитектуры системы, готовности компонентов и сроков. Основных подходов четыре: «большой взрыв», восходящий, нисходящий и сэндвич.
Если хотите системно разобраться с практикой работы со сложными ИТ-системами — в рамках нацпроекта «Кадры» можно пройти программу «Специалист по информационным системам: от организации до сопровождения ИТ-проектов» бесплатно, без отрыва от работы.
Big Bang («большой взрыв») — все модули объединяются и тестируются одновременно. На практике используется чаще остальных: быстро, не требует заглушек. Главный минус — при обнаружении дефекта сложно понять, какой компонент дал сбой.
Инкрементальный метод — постепенное подключение модулей. Начинают с двух, тестируют связку, затем добавляют третий. Два направления:
| Метод |
Принцип |
Плюсы |
Минусы |
|---|---|---|---|
| Big Bang | Все модули сразу | Быстро, не нужны заглушки | Сложная локализация дефекта |
| Восходящий (bottom-up) | От низких модулей к высоким | Ранняя проверка основы системы | Нужны драйверы |
| Нисходящий (top-down) | От высоких модулей к низким | Ранняя проверка бизнес-логики | Нужны заглушки |
| Сэндвич | Оба направления одновременно | Баланс скорости и точности | Сложнее координировать |

Сэндвич-метод — одновременное применение восходящего и нисходящего тестирования. Одна команда движется снизу вверх, другая — сверху вниз, встречаясь на среднем уровне. Второе название — «песочные часы». Метод сочетает скорость инкрементального подхода и точность локализации, но требует чёткой координации двух команд.
При инкрементальном тестировании часть модулей ещё не готова. Чтобы не ждать — используют заглушки и драйверы. Оба термина закреплены в глоссарии ISTQB.
| Параметр |
Заглушка (mock) |
Драйвер |
|---|---|---|
| Что имитирует | Вызываемый модуль | Вызывающий модуль |
| Когда используют | Зависимый сервис не готов | Интерфейс-инициатор не готов |
| Пример | Платёжный API ещё разрабатывается | UI не готов, но бэкенд уже нужно проверить |
| Инструменты | WireMock, Mockoon, Postman | Скрипты, имитирующие вызов модуля |
Заглушка — «подставной» модуль на месте того, кого вызывают. Драйвер — на месте того, кто вызывает. Управление зависимостями через мок-серверы и заглушки — базовый инструмент QA-инженера: без него проверять компоненты по отдельности практически невозможно.
Процесс состоит из семи шагов.

Инструменты подбирают под задачу: трассировка в микросервисах, API-тестирование, проверка базы данных, работа с брокерами сообщений, просмотр логов или создание заглушек. Разберём по категориям.
Хотите сменить профессию или повысить квалификацию?
Федеральный проект «Активные меры содействия занятости» даёт возможность пройти обучение бесплатно за счёт государства
Jaeger — инструмент распределённой трассировки: отображает путь HTTP-запроса по всем микросервисам системы и помогает точно локализовать дефект.
Два ключевых понятия:
Как работать: из заголовков HTTP-ответа берут trace ID и вводят в интерфейс Jaeger. Система строит граф — видно, какой сервис сколько времени занял и где возникла ошибка. В отличие от Kibana, где логи каждого сервиса хранятся отдельно, Jaeger даёт единую картину маршрута запроса, что ускоряет локализацию дефектов в микросервисной архитектуре.

Postman решает две задачи: отправка API-запросов для ручного и автоматизированного тестирования, а также создание Mock Server — заглушки для ещё не готового API. Удобно тестировать фронтенд до завершения бэкенда.
Docker поднимает изолированное тестовое окружение за несколько команд. Docker Compose позволяет запустить все сервисы локально и просматривать их логи в одном терминале.
DBeaver — визуальный клиент баз данных. После теста регистрации или транзакции открывают таблицу и проверяют: запись появилась, поля заполнены корректно.
Для брокеров сообщений — Offset Explorer или Kafka UI (для Kafka), RabbitMQ Management (для RabbitMQ): позволяют убедиться, что сообщение дошло от producer к consumer.
| Инструмент |
Сила |
Когда применять |
|---|---|---|
| Jaeger | Граф пути запроса по всем сервисам | Микросервисная архитектура |
| Kibana | Централизованный поиск по логам | Много сервисов, ELK-стек |
| Graylog | Гибкая фильтрация логов | Альтернатива Kibana без Elasticsearch |
| Sentry | Реалтайм-ошибки, ссылка разработчику | Быстрая передача бага в команду |
| Docker Compose | Локальные логи всех сервисов | Разработка и отладка на своей машине |
В работе QA-инженера на этом уровне встречаются пять типичных трудностей.
Сложность настройки окружения. Воспроизвести конфигурацию всех сервисов вручную долго и ненадёжно. Решение — Docker и инфраструктура как код (IaC): среда поднимается одной командой, идентично на каждой машине.
Управление зависимостями. Один модуль изменился — тест сломался, хотя интеграция в порядке. Помогают заглушки с фиксированными контрактами и версионирование API.
Тестовые данные с чувствительной информацией. Реальные персональные данные в тестовой среде использовать нельзя. Выход — синтетические данные и маскировка реальных (обфускация).
Долгое выполнение тестов. В больших системах интеграционные тесты занимают минуты. Решение — параллельный запуск через TestNG и приоритизация критических интеграций в конвейере непрерывной интеграции (CI/CD).
Ложные следы при локализации. Дефект проявляется в одном компоненте, а причина — в другом. Помогает строгое документирование тест-кейсов и изоляция каждого теста.


ИФТ — интеграционное функциональное тестирование: проверка взаимодействия компонентов системы с фокусом на бизнес-логике. ИФТ-стенд — изолированная тестовая среда, отдельная от продакшна, на которой проводится тестирование интеграций.
Модульное тестирование проверяет единицу кода в изоляции — его пишет разработчик. Интеграционное проверяет, как компоненты работают вместе: корректна ли передача данных и совместимы ли интерфейсы. Исполнитель — QA-инженер.
Postman — API и мок-серверы; Jaeger — трассировка в микросервисах; DBeaver — проверка базы данных; Docker — тестовое окружение; Kibana, Graylog, Sentry — логи; WireMock и Mockoon — заглушки; Kafka UI и RabbitMQ Management — брокеры сообщений.
Заглушка имитирует вызываемый модуль — используется, когда зависимый сервис не готов. Драйвер имитирует вызывающий модуль — когда не готов интерфейс, инициирующий вызов. Оба термина закреплены в ISTQB-глоссарии.
После успешного завершения unit-тестов и до системного тестирования. В CI/CD-пайплайне: unit → интеграционное → системное → деплой. В Agile-разработке оно поддерживает непрерывную интеграцию и выявляет регрессии на каждом спринте.
Jaeger — инструмент трассировки, отображающий путь HTTP-запроса по микросервисам. Спан — одна операция, трейс — полный маршрут запроса. По trace ID из HTTP-заголовка тестировщик точно локализует компонент с ошибкой без просмотра логов каждого сервиса отдельно.
Восходящее (bottom-up) — тестирование от низкоуровневых модулей к высокоуровневым. Нисходящее (top-down) — наоборот. Сэндвич-метод («песочные часы») объединяет оба подхода одновременно, балансируя скорость и точность локализации дефектов.
Освойте Postman для API-запросов, DevTools для мониторинга сети, DBeaver для баз данных. Изучите заглушки и тест-кейсы по ISTQB-глоссарию. Программа «Специалист по информационным системам: от организации до сопровождения ИТ-проектов» (бесплатно, нацпроект «Кадры») даёт системную базу работы со сложными ИТ-системами.
Подайте заявку —
забронируйте место в группе
45 000 мест на 2026 год. Бесплатное обучение по федеральному проекту «Активные меры содействия занятости»