Сейчас эта эпоха принадлежит эпохе трафика, и пользователи предъявляют все более высокие требования к данным и взаимодействию в рабочих интерфейсах, таких как приложения или мини-программы. Для тестировщиков тестирование слабой сети — это также навык, который необходим для проверки их профессиональных и технических способностей. Квалифицированному тестировщику необходимо уделять особое внимание сценариям, отличным от отключений и сбоев сети. Также необходимо определить данные слабых сетей. Значения, определенные для разных приложений, различны и неясны. Необходимо учитывать не только минимальную скорость каждого типа сети, но также необходимо объединять бизнес-сценарии и типы приложений для классификации. . Согласно характеристикам мобильных телефонов, обычно приложения со скоростью ниже 2G являются слабыми сетями, а 3G также можно отнести к слабым сетям. Кроме того, слабый сигнал Wi-Fi обычно включается в сценарии тестирования слабой сети. Независимо от того, проводим ли мы тестирование веб-сайтов или приложений, нам всем необходимо тестировать слабые сети. Существует множество методов проверки слабых сетей, например: Fiddler имитирует слабые сети, контролирует скорость сети компьютера и т. д. Сегодня мы покажем, как Fiddler тестирует слабые сети. .
Буквальное значение слова «слабая сеть» заключается в том, что сеть относительно слабая. Обычно мы называем это плохим сигналом, низкой скоростью сети и задержкой. Обычно Wi-Fi со скоростью сети ниже 3G и слабым сигналом является слабой сетью. В эту технологическую эпоху большое количество пользователей используют приложения в метро, туннелях, лифтах, гаражах и других сценариях. В этом случае могут возникнуть сетевые задержки, перебои и тайм-ауты.
Тест слабой сети в основном имитирует слабую сетевую среду для проверки различного прикладного программного обеспечения на пропускную способность сети, потерю пакетов, задержку и т. д., что является тестом на надежность.
Согласно сетевым данным, полученным в результате опроса большинства пользователей, использующих мобильное программное обеспечение для моделирования тестов слабой сети, слабая сетевая среда контролирует скорость восходящей линии связи до 10 и скорость нисходящей линии связи до 30, что считается тестом слабой сети.
Быстрая популярность отечественных мобильных интеллектуальных устройств значительно увеличила вероятность того, что пользователи будут использовать интеллектуальные устройства фрагментарно. Пользователи могут использовать интернет-приложения в слабых сетевых средах, таких как станции, метро, высокоскоростные железные дороги, автобусы, лифты, лестничные клетки, туннели. и подземные гаражи. Нам необходимо нацелиться на эти слабые сетевые среды, чтобы проверить надежность и отказоустойчивость прикладного программного обеспечения, улучшить взаимодействие с пользователем и избежать потери основных пользователей из-за недружественного пользовательского опыта.
Для эффективного проведения тестирования слабой сети тестировщикам необходимо использовать сторонние инструменты для создания различных слабых сетевых сред и моделирования слабой сетевой среды. Брат Хонг здесь в основном объясняет и делится сторонним инструментом Fiddler.
Используйте инструменты для вмешательства в уровень канала передачи данных и устанавливайте различные параметры пропускной способности сети, потери пакетов и задержки, чтобы имитировать слабую сетевую среду для тестирования.
Во-первых, просто создайте слабую сетевую среду и смоделируйте слабую сетевую среду. Есть два пути: программный и аппаратный. Цель может быть достигнута с помощью программного обеспечения для моделирования параметров сети для настройки слабой сетевой среды.
Вы также можете выбрать третью сторону, например: Charles, Network Link Conditioner. Среди различных типов сетевого программного обеспечения основной целью является моделирование слабой сетевой среды, такой как пропускная способность, потеря пакетов, задержка и т. д. Однако этот метод имеет определенные недостатки. Он не очень близок к слабой сетевой среде. Он хочет быть ближе к слабой сетевой среде. В среде Windows мы обычно можем использовать скрипач и сетевой эмулятор для набора инструментов Windows для моделирования. В среде Mac мы можем использовать инструменты моделирования сетевых исключений среды разработки Charles и Xcode для тестирования.
Например, большинство специальных тестов предпочитают использовать аппаратное обеспечение для помощи в тестировании, но этот метод станет очень затруднительным. Все они настраиваются с помощью обслуживания сети «Raspberry Pi». Если есть ситуации, которые невозможно смоделировать, Просто его можно вручную переместить в места со слабым сигналом, например, в лифты и метро. Кроме того, программный метод недорог и прост в реализации.
Обычно используемые инструменты тестирования слабой сети включают в себя: Fiddler, Charles, Clumsy, слабый сетевой инструмент и т. д.
Мы можем моделировать ограничение скорости с помощью Fiddler, поскольку Fiddler изначально является прокси-сервером. Он предоставляет интерфейсы обратного вызова до запроса клиента и до ответа сервера. Мы можем настроить некоторую логику в этих интерфейсах. Имитируемое ограничение скорости Fiddler — это логика настройки ограничения скорости перед запросом клиента. Эта логика ограничивает скорость загрузки и выгрузки в сети путем задержки времени отправки или получения данных, тем самым достигая эффекта ограничения скорости.
Тогда наш алгоритм:
1000/скорость загрузки = Время, необходимое для задержки (миллисекунды) //Например, 50кб/с Для получения данных необходима задержка в 200 миллисекунд.
См. таблицы скорости восходящей линии связи и скорости загрузки общих сетевых стандартов, как показано на рисунке ниже:
1. Сеть функционирует нормально.
2. Доступна ли функция без сети.
3. Доступна ли функция при слабой сети:
(1) Имеет ли внутренний сервер обработку таймаута и являются ли подсказки дружественными;
(2) произойдет ли сбой приложения или произойдет ошибка ANR;
(3) Будут ли потеряны данные;
(4) Завершено ли отображение главной страницы...
4. Преобразование сети: из 4g в 3g, из сильного Wi-Fi в слабый Wi-Fi, доступна ли функция при отключении сети.
Интеллект-карта теста слабой сети, как показано ниже:
В соответствии с идеями тестирования мы можем перечислить тестовые точки, как показано на рисунке ниже:
В соответствии с контрольными точками мы можем написать тестовые сценарии слабой сети, как показано на следующем рисунке:
1. Вставьте беспроводную сетевую карту в компьютер (на настольных компьютерах обычно необходимо вставлять сетевую карту, на ноутбуках она обычно не требуется)
2. Установите бесплатное программное обеспечение Wi-Fi 360 на свой компьютер.
1. Настройте имя и пароль WiFi в настройках 360 Free WiFi, как показано на рисунке ниже:
2. Подключите свой мобильный телефон к этому беспроводному Wi-Fi.
3. Откройте подключенный мобильный телефон в режиме 360 Free Wi-Fi, щелкните значок, и вы сможете четко увидеть скорость загрузки и выгрузки.
4. Откройте подключенный мобильный телефон в режиме 360 Free WiFi, щелкните значок управления ограничением скорости и начните настройку скорости загрузки и скорости загрузки. Скорость загрузки составляет 2 КБ/с, а скорость загрузки — 10 КБ/с, что означает максимальную загрузку. скорость 2 КБ/с, максимальная скорость загрузки 10 КБ/с. Как показано ниже:
Вышеупомянутый метод достигает цели тестирования слабых сетей путем ограничения сетевых запросов на загрузку и выгрузку.
Брат Хонг кратко представит здесь два браузера. Другие браузеры похожи.
1. Настройки Edge следующие. Если вы хотите установить скорость сети самостоятельно, нажмите «Пользовательские настройки», как показано на рисунке ниже:
1. Настройки сети Chrome, как показано ниже:
1. Откройте Скрипач,Rules->Performance->Проверять Simulate Modem Скорости. Как показано ниже:
2. Установив флажок, вы обнаружите, что при посещении веб-сайта сеть работает намного медленнее.
1. Откройте Скрипач,Rules—>Cutomize Правила. Как показано ниже:
Сначала давайте вместе с братом Хонгом проанализируем эти строки кода:
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; заинтересованные друзья или дети могут проверить это сами, брат Хонг. верно?
// 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 КБ.
oSession[“request-trickle-delay”] = “300”;
Задержка увеличивается на 150 мс на каждый загруженный КБ: загрузка содержимого размером 1 КБ занимает 150 мс. Конвертированная скорость загрузки составляет: 1 КБ/0,15 с = 6,6 КБ/с, что означает, что скорость загрузки по сети составляет всего 6,6 КБ.
oSession["response-trickle-delay"] = "150";
Если вы хотите установить скорость загрузки 50 КБ/с, вам необходимо установить время задержки на 20 мс. Вы также можете ограничить скорость загрузки, отрегулировав значение oSession["response-trickle-delay"].
1. Мы можем расширить логику в CustomRules.js. Согласно документации Jscript, мы можем добавить больше пользовательской логики в моделируемую слабую сетевую среду. Здесь реализована случайная настройка задержки, чтобы пропускная способность сети не была постоянной на низком уровне. Скорость будет случайным образом колебаться в определенном диапазоне. Значение randInt(1,50) здесь должно быть простым для понимания, поскольку оно представляет случайное целое число от 1 до 50, поэтому время от времени будут возникать задержки и иногда сеть будет работать нормально. Справочный код выглядит следующим образом:
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 .
Чтобы увидеть эффект более четко, Хун Гэ отдельно взял пакет URL-адреса Baidu, посетил Baidu, а затем выполнил поиск по запросу и ответу «Пекин-Хонг Гэ», чтобы увидеть эффект. Конкретные шаги заключаются в следующем:
1. Откройте фильтр выбора скрипача, как показано на рисунке ниже:
2. Установите флажок «Использовать фильтры», выберите «Показать только следующие хосты» и введите URL-адрес Baidu в поле редактирования ниже, как показано на рисунке ниже:
3. Нажмите «Действие» и выберите «Запустить набор фильтров сейчас (Запустить фильтр сейчас)», как показано на рисунке ниже:
4. Слабая сеть Fiddler не запускается, запустите захват пакетов, посетите Baidu, найдите «Beijing-Hongge», как показано на следующем рисунке:
5.Ctrl+A выбирает все сеансы и отображает статистику и временную шкалу, как показано ниже:
6. Запустите слабую сеть Fiddler, повторите шаги 4 и 5 еще раз. Чувствуете ли вы, что она застряла сильнее, чем раньше, и продолжает загружаться и вращаться? Как показано ниже:
7. Просмотрите статистику и временную шкалу, как показано на рисунке ниже:
После завершения теста,Необходимо выполнить еще раз: откройте Fiddler,Rules->Performance->Проверять Simulate Modem Скорости, отключите симуляцию слабой сети. В противном случае скорость Интернета пострадает сразу после запуска Fiddler. Помните! ! !
Fiddler имитирует ограничения слабой сетевой среды
Fiddler относительно прост и гибок для ограничения скорости, а также его более удобно настраивать. Однако, поскольку это HTTP-прокси прикладного уровня, он может моделировать поведение только на этом уровне для некоторых сложных потерь пакетов сетевого уровня, повторной передачи и. другие серьезные ситуации. Его невозможно хорошо смоделировать, и он не поддерживает приложения других протоколов.