Логи

Логи

Раздел посвящен логированию и созданию тестовых окружений. Научитесь эффективно собирать и анализировать логи, а также настраивать окружения для тестирования.

24 аудио · 7:05

Olga·

Что такое логи и зачем они нужны тестировщику?

0:35
Логи — это записи о событиях, происходящих в системе во время ее работы. Они содержат информацию о: Запросах. Ошибках. Состоянии системы. Действиях пользователей. Тестировщик использует логи для: Поиска причин дефектов. Локализации ошибок. Анализа поведения системы. Пример: Пользователь получил ошибку 500 → в логах можно увидеть причину (например, ошибка в SQL-запросе).

Какие уровни логирования бывают?

0:18
DEBUG — детальная информация для разработчиков. INFO — обычные события системы. WARN — предупреждения. ERROR — ошибки. FATAL — критические ошибки. Пример: ERROR: NullPointerException → ошибка в коде.

Какие виды логов бывают?

0:19
Frontend логи — ошибки в браузере (Console). Backend логи — серверные ошибки. Системные логи — работа инфраструктуры. Логи базы данных — SQL ошибки. Пример: Ошибка в UI → проверяем Console и backend.

Как тестировщик работает с логами на практике?

0:17
Алгоритм: Найти момент ошибки. Открыть логи. Найти соответствующую запись. Проанализировать причину. Пример: Ошибка при создании заказа → в логах видно "DB constraint violation" → проблема в базе.

Что такое браузерные логи и как с ними работать?

0:14
Это логи, которые отображаются в DevTools → Console. Тестировщик проверяет: Ошибки JavaScript. Сетевые ошибки. Предупреждения. Пример: Uncaught TypeError → ошибка фронтенда.

Что такое системы логирования?

0:22
Это инструменты для сбора, хранения и анализа логов. Примеры: ELK stack (Elasticsearch + Logstash + Kibana). Grafana + Loki. Позволяют: Искать логи. Фильтровать. Анализировать. Пример: Поиск всех ERROR за последние 10 минут.

Что такое Kibana и как используется?

0:19
Kibana — это инструмент для визуализации и анализа логов. Тестировщик использует: Поиск по ключевым словам. Фильтрацию по времени. Фильтрацию по уровню (ERROR). Пример: Найти все ошибки по endpoint /login за последний час.

Как искать ошибки в Kibana?

0:13
Использовать: Фильтр по времени. Фильтр по уровню (ERROR). Поиск по endpoint или user_id. Пример: message: "error" AND endpoint: "/login"

Что такое Trace ID, Span ID и Request ID?

0:26
Trace ID — идентификатор всего запроса через систему. Span ID — часть запроса внутри одного сервиса. Request ID — конкретный HTTP-запрос. Используются для: Отслеживания запроса через несколько сервисов. Пример: Один запрос проходит через 5 сервисов — Trace ID объединяет их.

Как использовать Trace ID на практике?

0:20
Берем Trace ID из одного лога. Ищем его в других сервисах. Это позволяет: Восстановить цепочку запроса. Найти место ошибки. Пример: Ошибка в UI → берем Trace ID → находим, что ошибка в третьем сервисе.

Как анализировать проблему через логи (реальный кейс)?

0:22
Сценарий: Пользователь не получил уведомление. Шаги: Проверить, было ли событие. Найти лог отправки сообщения. Проверить брокер. Проверить consumer. Найти ошибку. Вывод: Если сообщение дошло до брокера, но не обработано → проблема в consumer.

Как понять, где произошла ошибка?

0:12
Если: Ошибка в Console → фронт. Ошибка в backend логах → сервер. Ошибка в БД → SQL. Пример: 500 ошибка → backend.

Что проверять в логах при ошибке API?

0:12
Статус ошибки. Текст ошибки. Stack trace. SQL ошибки. Данные запроса. Пример: Ошибка: "column not found" → проблема в запросе.

Как организуется работа с логами на проекте?

0:21
Определяются: Где хранятся логи. Кто имеет доступ. Как искать ошибки. Какие инструменты используются. Часто: Kibana. Grafana. Логи на сервере. Пример: Тестировщик знает, где искать ошибки для каждого сервиса.

Какие типичные баги находят через логи?

0:13
Ошибки в SQL. NullPointerException. Ошибки интеграций. Проблемы с авторизацией. Проблемы с данными. Пример: API падает → лог показывает ошибку в базе.

Пример задачи с собеса: "Ошибка 500, что будешь делать?"

0:14
Алгоритм: Посмотреть Network. Найти запрос. Взять Trace ID. Пойти в логи. Найти ERROR. Определить причину. Вывод: Логи позволяют найти источник проблемы.

Пример задачи: "Почему данные не сохраняются?"

0:12
Проверка: Есть ли запрос. Что вернул API. Что в логах. Есть ли запись в БД. Вывод: Если ошибка в логах DB → проблема в базе.

Как объяснить работу с логами на собесе?

0:16
Логи — это основной инструмент для поиска причин дефектов. С их помощью можно отследить путь запроса через систему, понять, где произошла ошибка, и локализовать проблему на уровне фронтенда, бэкенда или базы данных.

Что такое снифферы и зачем они нужны тестировщику?

0:29
Снифферы — это инструменты для перехвата и анализа сетевого трафика между клиентом и сервером. Тестировщик использует их для: Просмотра API-запросов. Анализа данных. Поиска ошибок. Подмены ответов. Примеры: Charles Proxy. Fiddler. Пример: Нажали кнопку → через сниффер видим запрос и ответ API.

Что можно проверить с помощью сниффера?

0:13
URL запроса. Метод (GET, POST). Headers. Тело запроса. Тело ответа. Статус-код. Пример: Проверить, отправляется ли токен в Authorization.

Что такое SSL Proxying и зачем он нужен?

0:15
SSL Proxying позволяет перехватывать HTTPS-трафик. Без него нельзя увидеть тело запросов. Пример: Включаем SSL Proxying → видим JSON запроса логина.

Как тестировщик использует сниффер на практике?

0:18
Алгоритм: Настроить прокси. Включить SSL Proxying. Сделать действие в приложении. Найти запрос. Проанализировать ответ. Пример: Логин не работает → проверяем API через Charles.

Что такое подмена ответа (mocking) и зачем она нужна?

0:14
Это изменение ответа сервера на тестовые данные. Используется для: Проверки UI. Проверки ошибок. Тестирования без бэка. Пример: Подменить ответ → показать ошибку 500.

Пример задачи: "Как проверить поведение при ошибке сервера?"

0:11
Через сниффер: Перехватить запрос. Подменить ответ на 500. Проверить поведение UI. Вывод: UI должен показать ошибку.