Каково типичное для вас соотношение тестирования Backend и Frontend?

«Каково типичное для вас соотношение тестирования Backend и Frontend?» — вопрос из категории Практические задания, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Типичное соотношение — ~70% Backend и ~30% Frontend тестирования.

Backend-фокус (70%):

  • Тестирование API (REST, GraphQL): валидация контрактов, статус-кодов, структуры ответов, бизнес-логики.
  • Работа с базами данных: проверка корректности записей после операций.
  • Интеграционное тестирование взаимодействия между сервисами.
  • Тестирование производительности и нагрузки на API.

Frontend-фокус (30%):

  • Проверка критичной пользовательской логики, связанной с бэкендом (отправка форм, обработка ошибок).
  • Валидация данных на стороне клиента.
  • Базовые проверки UI: соответствие макетам, кроссбраузерность ключевых сценариев.

Пример теста для Backend (создание пользователя через API):

import requests

def test_user_creation_api():
    """Тестирует эндпоинт создания нового пользователя."""
    url = "https://api.example.com/v1/users"
    payload = {
        "name": "John Doe",
        "email": "john.doe@example.com"
    }
    headers = {"Content-Type": "application/json"}

    response = requests.post(url, json=payload, headers=headers)

    # Проверяем успешный ответ
    assert response.status_code == 201
    response_data = response.json()
    assert "id" in response_data
    assert isinstance(response_data["id"], str)
    assert response_data["name"] == payload["name"]
    assert response_data["email"] == payload["email"]

    # (Дополнительно) Проверяем, что пользователь появился в БД
    # db_check_user_exists(response_data["id"]) ...

Фронтенд-тестирование часто сосредоточено на интеграционных точках с этим бэкендом.