← Назад к вопросам

Зачем Network в DevTools

1.3 Junior🔥 181 комментариев
#Веб-тестирование#Инструменты тестирования

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Роль вкладки Network в инструментах разработчика (DevTools)

Вкладка Network (Сеть) в инструментах разработчика браузера — это центральный инструмент для анализа, отладки и оптимизации сетевой активности веб-приложения. Для QA-инженера её значение сложно переоценить, так как она предоставляет прямое окно во взаимодействие между клиентом (браузером) и сервером, позволяя выявлять проблемы, которые часто не видны на уровне пользовательского интерфейса.

Ключевые цели и задачи для QA

Основное назначение вкладки Network для контроля качества можно разбить на несколько критически важных направлений:

  1. Валидация корректности запросов и ответов:
    *   **Проверка HTTP-запросов (Request):** Убедиться, что отправляемые метод (GET, POST, PUT, DELETE), URL, заголовки (Headers, например, `Authorization`, `Content-Type`) и тело запроса (Payload) соответствуют спецификации API.
    *   **Анализ HTTP-ответов (Response):** Проверить статус-код (200, 404, 500), заголовки ответа и тело ответа (JSON, HTML, XML) на корректность данных и структуры.

  1. Выявление ошибок и проблем с производительностью:
    *   **Обнаружение неудачных запросов:** Запросы со статусами 4xx (ошибки клиента) и 5xx (ошибки сервера) подсвечиваются красным цветом. Это первое место, куда смотрит QA при "падении" функционала без явной ошибки на экране.
    *   **Анализ времени загрузки (Timing):** Инструмент детально показывает тайминг каждого запроса: блокировка (Blocking), установка соединения (Connection Establishment), отправка запроса (Sending), время до первого байта (TTFB - Time to First Byte), скачивание контента (Content Download). Это позволяет локализовать узкие места: медленный бэкенд (высокий TTFB) или проблемы с сетью.

  1. Проверка загрузки ресурсов и оптимизации:
    *   **Контроль загрузки статических файлов:** Проверка, что все необходимые скрипты (.js), стили (.css), изображения, шрифты загружаются корректно, без 404-ошибок.
    *   **Анализ размера ресурсов:** Выявление непомерно больших изображений или нефайловых модулей JavaScript, которые замедляют время первоначальной загрузки страницы.

Практическое применение в тестировании на примере

Рассмотрим типичный сценарий тестирования формы авторизации.

  1. Открываем DevTools (F12) и вкладку Network. Включаем сохранение лога (Preserve log) и отключаем кэширование (Disable cache).
  2. Вводим данные и нажимаем "Войти". В логе Network появится новый запрос (обычно метод POST на endpoint /api/login).
    Мы можем исследовать детали:

    **Во вкладке Headers запроса (Request Headers) проверяем:**
```http
Content-Type: application/json
Authorization: Bearer <token> (если требуется)
```
    **Во вкладке Payload (или Request) видим отправляемые данные:**
```json
{
  "username": "testuser",
  "password": "secret123"
}
```
    Здесь QA проверяет, что данные передаются в правильном формате и не происходит утечки чувствительной информации в открытом виде.

  1. Анализируем ответ (Response). Если авторизация успешна, статус-код будет 200 или 201. Проверяем тело ответа:
    {
      "status": "success",
      "token": "eyJhbGciOiJIUzI1NiIs...",
      "user": { "id": 123, "name": "Test User" }
    }
    
    Мы валидируем структуру JSON и наличие ожидаемых полей.

  1. Моделируем негативные сценарии. Вводим неверный пароль. В логе должен появиться запрос с кодом состояния 401 (Unauthorized) или 403 (Forbidden), а в теле ответа — соответствующее сообщение об ошибке. Отсутствие такой реакции или код 200 с ошибкой в теле — это дефект.

  2. Смотрим на вкладку Timing. Неожиданно долгий TTFB может указывать на проблему производительности сервера аутентификации.

Дополнительные возможности для углубленного тестирования

  • Throttling (Ограничение скорости): Эмуляция медленных сетей (3G, Edge) для тестирования поведения приложения в условиях плохого соединения. Проверка, показываются ли спиннеры, обрабатываются ли таймауты.
  • Blocking request (Блокировка запроса): Возможность заблокировать загрузку конкретного ресурса (например, CSS-файла), чтобы проверить graceful degradation (устойчивость интерфейса к сбоям).
  • Поиск по запросам (Filter): Быстрая фильтрация запросов по типу (XHR/JS/CSS/Img), домену или части URL.
  • Эмуляция различных условий: Установка кастомных заголовков (например, User-Agent для мобильных устройств) прямо через интерфейс.

Заключение

Для QA-инженера вкладка Network — это не просто инструмент "посмотреть, что ушло на сервер". Это:

  • Мощный детектор дефектов на уровне интеграции фронтенда и бэкенда.
  • Инструмент валидации API-контрактов и бизнес-логики.
  • Отправная точка для расследования проблем с производительностью и стабильностью.
  • Средство документации и воспроизведения шагов для разработчиков (можно скопировать запрос как cURL и отправить команде).

Без глубокого понимания Network эффективное тестирование современных SPA-приложений, сильно зависящих от API, практически невозможно. Это навык, который отделяет начинающего тестировщика от профессионала, способного находить сложные, скрытые от пользовательского интерфейса ошибки.