Prog Academy
RU UA
QA и тестирование

Что такое интеграционное тестирование?

Интеграционное тестирование проверяет, как несколько компонентов работают вместе: приложение и база данных, сервис и внешнее API, два микросервиса между собой. Отдельно каждая часть может быть исправна, а на стыке всё равно возникнет ошибка.

Типичные дефекты этого уровня — как раз стыковочные: несовпадение форматов данных, изменившийся контракт API, неверная обработка ошибок соседнего сервиса, проблемы с транзакциями.

В отличие от модульных тестов, интеграционные запускают на реальных или близких к реальным зависимостях, поэтому они медленнее и сложнее в настройке. Их обычно меньше, но именно они ловят то, что не видно изнутри отдельного модуля.

Связанные термины

Unit Testing

Модульное тестирование — проверка отдельной небольшой части кода — функции или класса — в изоляции от остальной системы. Такой тест не обращается к базе данных и внешним сервисам: вместо них подставляют заглушки.

E2E Testing

E2E (end-to-end) тестирование — проверка полного пользовательского сценария на собранной системе: тест открывает браузер, регистрируется, добавляет товар в корзину, оплачивает и убеждается, что заказ появился. Все компоненты при этом работают по-настоящему.

API Testing

Тестирование API — проверка серверных методов напрямую, без интерфейса: тестировщик отправляет запрос с определёнными параметрами и сверяет ответ — данные, структуру, код статуса и время обработки.

Test Automation

Автоматизация тестирования — написание программ, которые сами выполняют проверки и сравнивают результат с ожидаемым. Такие тесты запускают при каждом изменении кода, чтобы быстро замечать поломки в уже работающей функциональности.

Microservices

Микросервисы — архитектурный подход, при котором приложение состоит из нескольких небольших самостоятельных сервисов. Каждый отвечает за свою область — оплату, каталог, уведомления, — разворачивается отдельно и общается с остальными через API.