Приведите пример задач, для которых использовали Charles
Что проверяют
Работали ли вы с прокси руками или знаете инструмент по названию. Ответ показывает, умеете ли вы локализовать дефект между клиентом и сервером и проверять то, что через интерфейс воспроизвести нельзя.
Как отвечать
Отвечайте списком задач, а не описанием кнопок. Полезный набор:
- локализация дефекта: смотрим запрос и ответ и говорим, чья сторона виновата, вместо спора на созвоне;
- подмена ответа: правкой ответа или подстановкой локального файла получаем пустой список, битое поле, код 500 и проверяем, что клиент не падает, а показывает понятное состояние;
- точки останова: держим запрос и смотрим, что делает интерфейс, пока ответа нет, ловим двойную отправку формы;
- эмуляция сети: медленный канал и обрыв, проверка таймаутов и повторов;
- повтор и правка запроса: меняем параметры и проверяем валидацию на сервере в обход клиента;
- проверка данных: уходит ли токен в заголовке, а не в адресе, нет ли лишних персональных данных в событиях аналитики.
Хорошо добавить, как подключались: прокси в настройках сети устройства, корневой сертификат в системе, разбор HTTPS включён только для нужных доменов, чтобы не ломать остальной трафик.
Где спотыкаются
Не знают про закрепление сертификата. Приложение с пиннингом не пустит прокси, и это не поломка инструмента. Нужна отладочная сборка с ослабленной проверкой или помощь разработчика, и об этом стоит сказать самому.
Второе: забывают про доверие к пользовательским сертификатам. На современных версиях Android приложение по умолчанию не доверяет сертификату, добавленному пользователем, и без правки конфигурации сетевой безопасности в отладочной сборке трафик не расшифруется.
Третье: рассказывают историю с процентами ускорения, которых не считали. Прокси показывает время ответа и размер тела, а не прирост производительности продукта. Лучше назвать конкретный найденный дефект, чем красивую цифру.