Backend (серверная часть)
Урок 7.3 — Backend: серверная часть глазами тестировщика
Что такое бэкенд
Бэкенд — это код, который работает на сервере и не виден пользователю напрямую. Он отвечает за бизнес-логику: проверить пароль, записать заказ, посчитать скидку, отправить email, обработать платёж.
Если фронтенд — это то, что ты видишь в браузере, то бэкенд — это то, что происходит "за шторкой".
Что делает бэкенд
- Аутентификация — проверяет, кто ты (логин/пароль, токен)
- Авторизация — проверяет, что тебе разрешено делать
- Бизнес-логика — расчёты, правила, обработка данных
- Работа с базой данных — читает и записывает данные
- Обработка файлов — загрузка, хранение, конвертация
- Интеграции — отправка SMS, email, запросы к внешним сервисам
Популярные технологии бэкенда
| Язык/Платформа | Фреймворки | Где применяется |
|---|---|---|
| Node.js (JavaScript) | Express, Fastify, NestJS | Стартапы, API-сервисы |
| Python | Django, Flask, FastAPI | Data-heavy проекты, ML |
| Java | Spring Boot | Enterprise, банки, крупный бизнес |
| PHP | Laravel, Symfony | CMS, e-commerce |
| Go | Gin, Echo | Высоконагруженные сервисы |
| Ruby | Ruby on Rails | Быстрые прототипы |
Для тестировщика язык бэкенда не принципиален — важно понимать, как обрабатываются запросы.
Как бэкенд обрабатывает запрос

Когда ты нажимаешь кнопку "Войти", вот что происходит на сервере:
- Получает запрос — POST
/api/auth/loginс email и паролем - Валидирует данные — проверяет, что email заполнен, пароль не пустой
- Аутентифицирует — ищет пользователя в базе, сравнивает хеш пароля
- Выполняет логику — создаёт токен сессии
- Возвращает ответ —
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 Error | 500 | Бэкенд упал — баг в коде или БД недоступна |
| Bad Gateway | 502 | Сервер не смог получить ответ от другого сервиса |
| Service Unavailable | 503 | Сервис перегружен или на техобслуживании |
| Gateway Timeout | 504 | Запрос выполнялся слишком долго |
| Unauthorized | 401 | Не авторизован (токен отсутствует или истёк) |
| Forbidden | 403 | Авторизован, но нет прав на это действие |
| Not Found | 404 | Ресурс не существует |
Правило: 4xx — что-то не так с запросом клиента, 5xx — что-то не так на сервере.
API-контракт: что бэкенд обещает фронтенду
Бэкенд определяет набор эндпоинтов (URL) и форматов данных — это называется API-контракт. Фронтенд обязан отправлять запросы именно в том формате, который ожидает бэкенд.
Тестировщик должен знать: если фронтенд показывает данные не так, нужно проверить — бэкенд вернул правильные данные? Если да, проблема на фронте.
Что мы запомним
- Бэкенд — серверная часть: бизнес-логика, аутентификация, БД, интеграции
- Обработка запроса: получить → валидировать → аутентифицировать → выполнить → ответить
- Логи сервера содержат точную причину ошибки — проси разработчика показывать их
- 5xx ошибки — проблема на сервере; 4xx — проблема с запросом клиента
- API-контракт — соглашение между фронтом и бэком о формате запросов/ответов