Ответ
Интеграционное тестирование — это уровень тестирования, который проверяет корректность взаимодействия и совместной работы интегрированных модулей, компонентов или систем.
Цель: Выявить дефекты на стыках компонентов, в интерфейсах, протоколах обмена данными и в работе с общими ресурсами (например, базами данных).
Пример теста интеграции 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): Все модули интегрируются одновременно, после чего проводится тестирование всей системы.