Учебные пособия расширенной серии «Сортировка гематемезиса» — Учебное пособие по захвату пакетов Fiddler (15) — Тест слабой сети Fiddler, вы это знаете?
Учебные пособия расширенной серии «Сортировка гематемезиса» — Учебное пособие по захвату пакетов Fiddler (15) — Тест слабой сети Fiddler, вы это знаете?

1. Введение

Сейчас эта эпоха принадлежит эпохе трафика, и пользователи предъявляют все более высокие требования к данным и взаимодействию в рабочих интерфейсах, таких как приложения или мини-программы. Для тестировщиков тестирование слабой сети — это также навык, который необходим для проверки их профессиональных и технических способностей. Квалифицированному тестировщику необходимо уделять особое внимание сценариям, отличным от отключений и сбоев сети. Также необходимо определить данные слабых сетей. Значения, определенные для разных приложений, различны и неясны. Необходимо учитывать не только минимальную скорость каждого типа сети, но также необходимо объединять бизнес-сценарии и типы приложений для классификации. . Согласно характеристикам мобильных телефонов, обычно приложения со скоростью ниже 2G являются слабыми сетями, а 3G также можно отнести к слабым сетям. Кроме того, слабый сигнал Wi-Fi обычно включается в сценарии тестирования слабой сети. Независимо от того, проводим ли мы тестирование веб-сайтов или приложений, нам всем необходимо тестировать слабые сети. Существует множество методов проверки слабых сетей, например: Fiddler имитирует слабые сети, контролирует скорость сети компьютера и т. д. Сегодня мы покажем, как Fiddler тестирует слабые сети. .

2. Что такое слабая сеть?

Буквальное значение слова «слабая сеть» заключается в том, что сеть относительно слабая. Обычно мы называем это плохим сигналом, низкой скоростью сети и задержкой. Обычно Wi-Fi со скоростью сети ниже 3G и слабым сигналом является слабой сетью. В эту технологическую эпоху большое количество пользователей используют приложения в метро, ​​туннелях, лифтах, гаражах и других сценариях. В этом случае могут возникнуть сетевые задержки, перебои и тайм-ауты.

3. Что такое тест слабой сети?

Тест слабой сети в основном имитирует слабую сетевую среду для проверки различного прикладного программного обеспечения на пропускную способность сети, потерю пакетов, задержку и т. д., что является тестом на надежность.

Согласно сетевым данным, полученным в результате опроса большинства пользователей, использующих мобильное программное обеспечение для моделирования тестов слабой сети, слабая сетевая среда контролирует скорость восходящей линии связи до 10 и скорость нисходящей линии связи до 30, что считается тестом слабой сети.

4. Почему нам нужно проводить тестирование слабой сети?

Быстрая популярность отечественных мобильных интеллектуальных устройств значительно увеличила вероятность того, что пользователи будут использовать интеллектуальные устройства фрагментарно. Пользователи могут использовать интернет-приложения в слабых сетевых средах, таких как станции, метро, ​​высокоскоростные железные дороги, автобусы, лифты, лестничные клетки, туннели. и подземные гаражи. Нам необходимо нацелиться на эти слабые сетевые среды, чтобы проверить надежность и отказоустойчивость прикладного программного обеспечения, улучшить взаимодействие с пользователем и избежать потери основных пользователей из-за недружественного пользовательского опыта.

5. Как провести тест слабой сети?

Для эффективного проведения тестирования слабой сети тестировщикам необходимо использовать сторонние инструменты для создания различных слабых сетевых сред и моделирования слабой сетевой среды. Брат Хонг здесь в основном объясняет и делится сторонним инструментом Fiddler.

Используйте инструменты для вмешательства в уровень канала передачи данных и устанавливайте различные параметры пропускной способности сети, потери пакетов и задержки, чтобы имитировать слабую сетевую среду для тестирования.

Во-первых, просто создайте слабую сетевую среду и смоделируйте слабую сетевую среду. Есть два пути: программный и аппаратный. Цель может быть достигнута с помощью программного обеспечения для моделирования параметров сети для настройки слабой сетевой среды.

Вы также можете выбрать третью сторону, например: Charles, Network Link Conditioner. Среди различных типов сетевого программного обеспечения основной целью является моделирование слабой сетевой среды, такой как пропускная способность, потеря пакетов, задержка и т. д. Однако этот метод имеет определенные недостатки. Он не очень близок к слабой сетевой среде. Он хочет быть ближе к слабой сетевой среде. В среде Windows мы обычно можем использовать скрипач и сетевой эмулятор для набора инструментов Windows для моделирования. В среде Mac мы можем использовать инструменты моделирования сетевых исключений среды разработки Charles и Xcode для тестирования.

Например, большинство специальных тестов предпочитают использовать аппаратное обеспечение для помощи в тестировании, но этот метод станет очень затруднительным. Все они настраиваются с помощью обслуживания сети «Raspberry Pi». Если есть ситуации, которые невозможно смоделировать, Просто его можно вручную переместить в места со слабым сигналом, например, в лифты и метро. Кроме того, программный метод недорог и прост в реализации.

6. Слабый инструмент тестирования сети

Обычно используемые инструменты тестирования слабой сети включают в себя: Fiddler, Charles, Clumsy, слабый сетевой инструмент и т. д.

7. Принцип ограничения скорости симуляции Fiddler

Мы можем моделировать ограничение скорости с помощью Fiddler, поскольку Fiddler изначально является прокси-сервером. Он предоставляет интерфейсы обратного вызова до запроса клиента и до ответа сервера. Мы можем настроить некоторую логику в этих интерфейсах. Имитируемое ограничение скорости Fiddler — это логика настройки ограничения скорости перед запросом клиента. Эта логика ограничивает скорость загрузки и выгрузки в сети путем задержки времени отправки или получения данных, тем самым достигая эффекта ограничения скорости.

Тогда наш алгоритм:

Язык кода:javascript
копировать
1000/скорость загрузки = Время, необходимое для задержки (миллисекунды) //Например, 50кб/с Для получения данных необходима задержка в 200 миллисекунд.

8. См. таблицы скоростей восходящей линии связи и загрузки общих сетевых стандартов.

См. таблицы скорости восходящей линии связи и скорости загрузки общих сетевых стандартов, как показано на рисунке ниже:

9. Идеи тестирования слабых сетей

9.1 Простое изложение идей по тестированию слабых сетей

1. Сеть функционирует нормально.

2. Доступна ли функция без сети.

3. Доступна ли функция при слабой сети:

(1) Имеет ли внутренний сервер обработку таймаута и являются ли подсказки дружественными;

(2) произойдет ли сбой приложения или произойдет ошибка ANR;

(3) Будут ли потеряны данные;

(4) Завершено ли отображение главной страницы...

4. Преобразование сети: из 4g в 3g, из сильного Wi-Fi в слабый Wi-Fi, доступна ли функция при отключении сети.

9.2 Карта разума

Интеллект-карта теста слабой сети, как показано ниже:

10. Слабая контрольная точка сети.

В соответствии с идеями тестирования мы можем перечислить тестовые точки, как показано на рисунке ниже:

11. Тестовые примеры слабой сети

В соответствии с контрольными точками мы можем написать тестовые сценарии слабой сети, как показано на следующем рисунке:

12. Общие инструменты для моделирования слабых сетей

12.1 360 бесплатный Wi-Fi
12.1.1 Предварительная подготовка

1. Вставьте беспроводную сетевую карту в компьютер (на настольных компьютерах обычно необходимо вставлять сетевую карту, на ноутбуках она обычно не требуется)

2. Установите бесплатное программное обеспечение Wi-Fi 360 на свой компьютер.

12.1.2 Среда развертывания

1. Настройте имя и пароль WiFi в настройках 360 Free WiFi, как показано на рисунке ниже:

2. Подключите свой мобильный телефон к этому беспроводному Wi-Fi.

3. Откройте подключенный мобильный телефон в режиме 360 Free Wi-Fi, щелкните значок, и вы сможете четко увидеть скорость загрузки и выгрузки.

4. Откройте подключенный мобильный телефон в режиме 360 Free WiFi, щелкните значок управления ограничением скорости и начните настройку скорости загрузки и скорости загрузки. Скорость загрузки составляет 2 КБ/с, а скорость загрузки — 10 КБ/с, что означает максимальную загрузку. скорость 2 КБ/с, максимальная скорость загрузки 10 КБ/с. Как показано ниже:

Вышеупомянутый метод достигает цели тестирования слабых сетей путем ограничения сетевых запросов на загрузку и выгрузку.

12.2 Ограничение скорости браузера, откройте консоль F12

Брат Хонг кратко представит здесь два браузера. Другие браузеры похожи.

12.2.1Edge

1. Настройки Edge следующие. Если вы хотите установить скорость сети самостоятельно, нажмите «Пользовательские настройки», как показано на рисунке ниже:

12.2.1Chrome

1. Настройки сети Chrome, как показано ниже:

12.3Fiddler
12.3.1 Запуск слабой сети в Fiddler

1. Откройте Скрипач,Rules->Performance->Проверять Simulate Modem Скорости. Как показано ниже:

2. Установив флажок, вы обнаружите, что при посещении веб-сайта сеть работает намного медленнее.

12.3.2 Настройка параметров слабой сети

1. Откройте Скрипач,Rules—>Cutomize Правила. Как показано ниже:

Сначала давайте вместе с братом Хонгом проанализируем эти строки кода:

Язык кода:javascript
копировать
 if (m_SimulateModem) {
  // Delay sends by 300ms per KB uploaded.
   oSession["request-trickle-delay"] = "300"; 
   // Delay receives by 150ms per KB downloaded.
   oSession["response-trickle-delay"] = "150"; 
}

Сначала определите, имеет ли значение m_SimulateModem true (включен ли он), то есть установлен ли режим слабой сети. Спереди мы видим, что такой код по умолчанию не включен. Когда установлен флажок «Имитировать скорость модема», var m_SimulateModem: boolean = false; станет var m_SimulateModem: boolean = true; заинтересованные друзья или дети могут проверить это сами, брат Хонг. верно?

Язык кода:javascript
копировать
    // Cause Fiddler Classic to delay HTTP traffic to simulate typical 56k modem conditions
    public static RulesOption("Simulate &Modem Speeds", "Per&formance")
    var m_SimulateModem: boolean = false;

Задержка отправки составляет 300 мс на каждый загруженный КБ: для загрузки содержимого размером 1 КБ требуется 300 мс. Преобразуйте скорость загрузки: 1 Кб/0,3 с = 3,3 КБ/с, что означает, что скорость восходящего канала составляет всего 3,3 КБ.

Язык кода:javascript
копировать
oSession[“request-trickle-delay”] = “300”;

Задержка увеличивается на 150 мс на каждый загруженный КБ: загрузка содержимого размером 1 КБ занимает 150 мс. Конвертированная скорость загрузки составляет: 1 КБ/0,15 с = 6,6 КБ/с, что означает, что скорость загрузки по сети составляет всего 6,6 КБ.

Язык кода:javascript
копировать
oSession["response-trickle-delay"] = "150";

Если вы хотите установить скорость загрузки 50 КБ/с, вам необходимо установить время задержки на 20 мс. Вы также можете ограничить скорость загрузки, отрегулировав значение oSession["response-trickle-delay"].

12.3.3 Написание пользовательских сценариев

1. Мы можем расширить логику в CustomRules.js. Согласно документации Jscript, мы можем добавить больше пользовательской логики в моделируемую слабую сетевую среду. Здесь реализована случайная настройка задержки, чтобы пропускная способность сети не была постоянной на низком уровне. Скорость будет случайным образом колебаться в определенном диапазоне. Значение randInt(1,50) здесь должно быть простым для понимания, поскольку оно представляет случайное целое число от 1 до 50, поэтому время от времени будут возникать задержки и иногда сеть будет работать нормально. Справочный код выглядит следующим образом:

Язык кода:javascript
копировать
static function randInt(min, max) {
    return Math.round(Math.random()*(max-min)+min);
}
if (m_SimulateModem) {
    // Delay sends by 300ms per KB uploaded.
    oSession["request-trickle-delay"] = ""+randInt(1,50);
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = ""+randInt(1,50);
}

Кроме того, (1) маршрутизатор изменяет скорости восходящего и нисходящего потоков, (2) симуляция слабой сети Чарльза (Hongge может также опубликовать серию статей об этом инструменте позже), (3) телефоны iOS поставляются с симуляцией слабой сети Network Link Conditioner .

13. Проверьте эффект

Чтобы увидеть эффект более четко, Хун Гэ отдельно взял пакет URL-адреса Baidu, посетил Baidu, а затем выполнил поиск по запросу и ответу «Пекин-Хонг Гэ», чтобы увидеть эффект. Конкретные шаги заключаются в следующем:

1. Откройте фильтр выбора скрипача, как показано на рисунке ниже:

2. Установите флажок «Использовать фильтры», выберите «Показать только следующие хосты» и введите URL-адрес Baidu в поле редактирования ниже, как показано на рисунке ниже:

3. Нажмите «Действие» и выберите «Запустить набор фильтров сейчас (Запустить фильтр сейчас)», как показано на рисунке ниже:

4. Слабая сеть Fiddler не запускается, запустите захват пакетов, посетите Baidu, найдите «Beijing-Hongge», как показано на следующем рисунке:

5.Ctrl+A выбирает все сеансы и отображает статистику и временную шкалу, как показано ниже:

6. Запустите слабую сеть Fiddler, повторите шаги 4 и 5 еще раз. Чувствуете ли вы, что она застряла сильнее, чем раньше, и продолжает загружаться и вращаться? Как показано ниже:

7. Просмотрите статистику и временную шкалу, как показано на рисунке ниже:

14.Восстановить настройки

После завершения теста,Необходимо выполнить еще раз: откройте Fiddler,Rules->Performance->Проверять Simulate Modem Скорости, отключите симуляцию слабой сети. В противном случае скорость Интернета пострадает сразу после запуска Fiddler. Помните! ! !

15. Резюме

Fiddler имитирует ограничения слабой сетевой среды

Fiddler относительно прост и гибок для ограничения скорости, а также его более удобно настраивать. Однако, поскольку это HTTP-прокси прикладного уровня, он может моделировать поведение только на этом уровне для некоторых сложных потерь пакетов сетевого уровня, повторной передачи и. другие серьезные ситуации. Его невозможно хорошо смоделировать, и он не поддерживает приложения других протоколов.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose