К списку
Инструменты QAMiddleТехническое

Диагностика проблем клиента, сети и сервера через Charles Proxy

Краткий ответ

Charles позволяет локализовать проблему по уровню: если HTTP-запрос не отправляется — ошибка на клиенте; если запрос не доходит до сервера — сетевая проблема; если сервер отвечает ошибкой — проблема на сервере.

Развёрнуто

Краткий ответ

Charles Proxy помогает выявить источник ошибки, анализируя HTTP-трафик: отсутствие отправки запроса указывает на клиент, потеря запроса в пути — на сеть, а ошибка в ответе — на сервер.


Как это работает

Charles — это инструмент для перехвата и просмотра HTTP(S)-запросов и ответов. Для диагностики проблемы нужно выполнить следующие шаги:

  1. Запустить Charles и включить запись трафика (Start Recording).
  2. Воспроизвести ошибку в тестируемом приложении.
  3. Проанализировать логи запросов и ответов:
    • Если запрос отсутствует в списке — проблема на клиенте (ошибка в приложении или настройках).
    • Если запрос отображается, но сервер не получил его (отсутствуют ответы) — проблема в сети (например, блокировка или потеря пакетов).
    • Если сервер возвращает HTTP-статус ошибки (4xx, 5xx) — проблема на сервере.
Ситуация Причина Как выглядит в Charles
Запрос не отправляется Клиент Отсутствие запроса в логе
Запрос отправлен, ответа нет Сеть Запрос есть, ответ отсутствует
Сервер отвечает с ошибкой Сервер Ответ с HTTP-кодом ошибки (например, 500)

Пример

1. Запуск Charles и включение записи.
2. В приложении нажимаем кнопку, вызывающую API.
3. В Charles видим список запросов.

Если запрос не появляется — проверяем клиент (код, настройки).
Если запрос есть, но нет ответа — проверяем сеть (firewall, прокси).
Если приходит ответ с ошибкой — анализируем серверные логи.

Что важно знать на собеседовании

  • Charles перехватывает и отображает HTTP(S) трафик в реальном времени.
  • Правильная интерпретация наличия или отсутствия запросов и ответов — ключ к быстрой диагностике.
  • Сетевая проблема часто проявляется как отсутствие ответа на запрос.
  • Серверные ошибки видны через HTTP-статусы в ответах.
  • Для HTTPS-трафика может потребоваться установка сертификата Charles.

Тема: Инструменты QA | Уровень: middle