Backend (серверная часть)

Урок 7.3 — Backend: серверная часть глазами тестировщика

Что такое бэкенд

Бэкенд — это код, который работает на сервере и не виден пользователю напрямую. Он отвечает за бизнес-логику: проверить пароль, записать заказ, посчитать скидку, отправить email, обработать платёж.

Если фронтенд — это то, что ты видишь в браузере, то бэкенд — это то, что происходит "за шторкой".

Что делает бэкенд

  • Аутентификация — проверяет, кто ты (логин/пароль, токен)
  • Авторизация — проверяет, что тебе разрешено делать
  • Бизнес-логика — расчёты, правила, обработка данных
  • Работа с базой данных — читает и записывает данные
  • Обработка файлов — загрузка, хранение, конвертация
  • Интеграции — отправка SMS, email, запросы к внешним сервисам

Популярные технологии бэкенда

Язык/ПлатформаФреймворкиГде применяется
Node.js (JavaScript)Express, Fastify, NestJSСтартапы, API-сервисы
PythonDjango, Flask, FastAPIData-heavy проекты, ML
JavaSpring BootEnterprise, банки, крупный бизнес
PHPLaravel, SymfonyCMS, e-commerce
GoGin, EchoВысоконагруженные сервисы
RubyRuby on RailsБыстрые прототипы

Для тестировщика язык бэкенда не принципиален — важно понимать, как обрабатываются запросы.

Как бэкенд обрабатывает запрос

Диагностическая схема: где живёт дефект — Frontend, Backend или DB?

Когда ты нажимаешь кнопку "Войти", вот что происходит на сервере:

  1. Получает запрос — POST /api/auth/login с email и паролем
  2. Валидирует данные — проверяет, что email заполнен, пароль не пустой
  3. Аутентифицирует — ищет пользователя в базе, сравнивает хеш пароля
  4. Выполняет логику — создаёт токен сессии
  5. Возвращает ответ200 OK с токеном или 401 Unauthorized

На каждом шаге может возникнуть ошибка — и это то, что нужно тестировать.

Серверные логи — твой союзник

Лог — это запись того, что происходило на сервере. Разработчики записывают в логи ключевые события и ошибки.

Как выглядит запись в логе:

[ERROR] 2024-01-15 14:32:01 - Database connection failed: timeout after 5000ms
[INFO]  2024-01-15 14:32:05 - User 42 logged in from IP 192.168.1.1
[WARN]  2024-01-15 14:33:12 - Rate limit exceeded for endpoint /api/upload

Зачем тестировщику знать о логах:

  • Когда воспроизводишь баг, попроси разработчика показать логи за это время
  • В логах — точная причина ошибки (stack trace), а не только "что-то пошло не так"
  • Логи помогают понять: баг в бэкенде или данные пришли уже кривые с фронта

Типичные бэкенд-ошибки для тестировщика

ОшибкаHTTP-кодЧто это значит
Internal Server Error500Бэкенд упал — баг в коде или БД недоступна
Bad Gateway502Сервер не смог получить ответ от другого сервиса
Service Unavailable503Сервис перегружен или на техобслуживании
Gateway Timeout504Запрос выполнялся слишком долго
Unauthorized401Не авторизован (токен отсутствует или истёк)
Forbidden403Авторизован, но нет прав на это действие
Not Found404Ресурс не существует

Правило: 4xx — что-то не так с запросом клиента, 5xx — что-то не так на сервере.

API-контракт: что бэкенд обещает фронтенду

Бэкенд определяет набор эндпоинтов (URL) и форматов данных — это называется API-контракт. Фронтенд обязан отправлять запросы именно в том формате, который ожидает бэкенд.

Тестировщик должен знать: если фронтенд показывает данные не так, нужно проверить — бэкенд вернул правильные данные? Если да, проблема на фронте.

Что мы запомним

  • Бэкенд — серверная часть: бизнес-логика, аутентификация, БД, интеграции
  • Обработка запроса: получить → валидировать → аутентифицировать → выполнить → ответить
  • Логи сервера содержат точную причину ошибки — проси разработчика показывать их
  • 5xx ошибки — проблема на сервере; 4xx — проблема с запросом клиента
  • API-контракт — соглашение между фронтом и бэком о формате запросов/ответов

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике