Встречается на собеседованиях • сегодня

Что такое пирамида тестирования

Пирамида тестирования — это модель, которая показывает оптимальное соотношение разных уровней тестов в проекте. Она состоит из трех основных слоев:

  1. Unit-тесты (основание) — тестируют отдельные модули/функции. Быстрые, многочисленные.
  2. Интеграционные тесты (середина) — проверяют взаимодействие компонентов.
  3. UI/E2E-тесты (верхушка) — тестируют систему целиком через интерфейс. Медленные, их меньше всего.

Пример для веб-приложения:

python
# Unit-тест (например, проверка функции сложения)
def test_add():
    assert add(2, 3) == 5

# Интеграционный тест (проверка API)
def test_api_flow():
    response = call_api('/login', {'user': 'test'})
    assert response.status_code == 200

# E2E-тест (через браузер)
def test_ui_login():
    browser.open('/login')
    browser.fill_form(user='test')
    assert browser.url == '/dashboard'

Чем выше уровень, тем тесты дороже в поддержке и медленнее в выполнении. Оптимальное соотношение — много unit-тестов, меньше интеграционных и совсем немного E2E.

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы