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

«Что такое интеграционное тестирование?» — вопрос из категории Основы тестирования, который задают на 27% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Цель: Выявить дефекты на стыках компонентов, в интерфейсах, протоколах обмена данными и в работе с общими ресурсами (например, базами данных).

Пример теста интеграции API (Python, pytest):

import requests

BASE_URL = "http://api.example.com"

def test_user_creation_and_retrieval():
    # 1. Интеграция: создание пользователя через API
    create_response = requests.post(
        f"{BASE_URL}/users",
        json={"name": "Alice", "email": "alice@example.com"}
    )
    assert create_response.status_code == 201
    user_id = create_response.json()["id"]

    # 2. Интеграция: получение созданного пользователя
    get_response = requests.get(f"{BASE_URL}/users/{user_id}")
    assert get_response.status_code == 200
    user_data = get_response.json()
    assert user_data["name"] == "Alice"
    assert user_data["email"] == "alice@example.com"

Подходы к интеграции:

  • Снизу вверх (Bottom-Up): Сначала тестируются низкоуровневые модули, затем к ним добавляются и тестируются высокоуровневые.
  • Сверху вниз (Top-Down): Процесс начинается с высокоуровневых модулей, а низкоуровневые заменяются заглушками (stubs).
  • Большой взрыв (Big Bang): Все модули интегрируются одновременно, после чего проводится тестирование всей системы.