Как провести тест слабой сети Это самая подробная статья, которую я когда-либо читал!
Как провести тест слабой сети Это самая подробная статья, которую я когда-либо читал!

Текущая сетевая среда приложений относительно сложна: сетевые стандарты включают сети 2G, 3G, 4G и все больше и больше общедоступных сетей Wi-Fi. Различные сетевые среды и различия в сетевых стандартах будут иметь определенное влияние на использование приложения пользователями. Кроме того, текущие сценарии использования приложений различаются, например, вход в метро, ​​посадка в автобус, вход в лифт и т. д., что делает особенно важным тестирование слабой сети.

Если приложение не обрабатывает различные сетевые исключения, совместимые,Тогда пользователи могут столкнуться с такими проблемами, как сбои приложений, ANR и потеря данных в своей повседневной жизни. поэтому,тест сети приложений,В частности, особенно важно тестирование слабой сети.。Эта статья разобраласьКлючевые моменты тестирования сети приложений и распространенные методы моделирования для тестирования слабой сети,Пусть каждый имеет полное представление о сетевом тестировании.

01

Ключевые моменты тестирования сети приложений

1. Функциональное тестирование в различных сетях.

  • В разных сетях проверьте основные функциональные точки.
  • Тестирование точек доступа оператора China Mobile, China Unicom и Telecom (требуется использование реальных SIM-карт)
  • Если есть интеллектуальная функция DNS, она также должна быть оценена/классифицирована оператором.
  • Высокая задержка, высокая потеря пакетов, отсутствие сети и ложные точки доступа также могут быть включены в категорию тестирования слабой сети.

2. Тест переключения сети Некоторые приложения имеют интеллектуальные функции DNS, а переключение сети включает переключение DNS. Механизм обнаружения переключения сети: Android может отслеживать системные трансляции

3. Проверка слабой сети Пользовательский опыт и обработка исключений — это вещи, на которые необходимо обращать внимание в каждом сценарии сети, но на них необходимо сосредоточиться в сценариях со слабой сетью.

02

Моделирование тестирования слабой сети

1. Какая сеть считается слабой?

Когда скорость ниже 2G, это слабая сеть. 3G также можно классифицировать как слабую сеть. Как правило, Wi-Fi не входит в объем тестирования слабой сети.

2. Как провести тестирование слабой сети

  • Переключение сети SIM-карты Мобильный телефон-Настройки-Настройки мобильной сети-Выбор типа сети Карты 3G и 4G можно настроить на отключение 3G/4G и использование только сети 2G.
  • Тестирование конкретного сценария слабой сети, общие сценарии включают: метро/автобус, лифт, лестничную клетку, парковку.
  • Используйте виртуальную машину для имитации скорости сети, например слабый сетевой тестер, созданный на Raspberry Pi.
  • Используйте программное обеспечение для проксирования сети, чтобы моделировать различную пропускную способность сети, скорость задержки и скорость потери пакетов.

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

Метод 1: моделирование слабой сети Чарльза

Анализ параметров конфигурации:

  • пропускная способность — Пропускная способность, то есть скорость передачи данных по восходящей и нисходящей линии связи.
  • Загрузка - доступность полосы пропускания, у большинства современных 100%
  • round-trip latency - задержка первого запроса, единица измерения - мс
  • MTU — максимальная единица передачи, то есть максимальный размер TCP-пакета, который позволяет более реалистично имитировать уровень TCP и пакетизацию каждой передачи.
  • Надежность – относится к надежности соединения. Имеется в виду показатель надежности 10кб. Используется для моделирования нестабильности сети.
  • Стабильность — стабильность соединения, которая также влияет на доступность полосы пропускания. Используется для моделирования мобильных сетей, где соединения мобильных сетей обычно ненадежны.

Ссылка на конкретные сетевые настройки:

Fiddler также может моделировать слабую сетевую среду.

Способ второй:chromeизwebviewИнструменты отладки Слабая сетевая симуляция

Используйте инструмент отладки веб-просмотра Chrome.,Недостатком являетсяПрименимо только для слабой сетевой симуляции веб-страниц.

Конкретные шаги:

  • Приложение включает функцию отладки веб-просмотра следующим образом:
Язык кода:javascript
копировать
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {undefined
     WebView.setWebContentsDebuggingEnabled(true);
 }
  • Подключите мобильный телефон к компьютеру, запустите приложение и перейдите на конкретную страницу H5;
  • Откройте веб-просмотр в инструментах разработчика Chrome: введите chrome://inspect/#devices, будет отображено подключенное устройство. Выберите страницу проверки сети веб-представления, которое необходимо отладить, и раскрывающийся список «Без регулирования», чтобы выполнить моделирование сети.

Способ третий:

Мобильный телефон iOS оснащен Network Link Conditioner для имитации слабой сети.

Откройте параметры разработчика на iPhone: Настройки-Параметры разработчика > Network Link Conditioner Вход. Система имеет встроенные общие сетевые конфигурации, также можно добавлять собственные конфигурации.

Конкретные параметры конфигурации:

  • Пропускная способность нисходящей линии связи, то есть скорость нисходящей линии связи
  • Скорость потери пакетов при потере пакетов в нисходящей линии связи
  • in задержка Задержка нисходящей линии связи, единица мс
  • исходящая полоса пропускания восходящей линии связи
  • потеря исходящих пакетов, коэффициент потери пакетов восходящей линии связи
  • задержка на выходе задержка на выходе
  • Задержка DNS Задержка разрешения DNS
  • протокол поддерживает Любой, IPV4, IPV6
  • интерфейс поддерживает Любой, WI-Fi, сотовую связь (сотовую сеть)

Ссылка на конкретные шаги:

Обмен классическими вопросами по сетевому тестированию

  • Сцена первая:При слабой сети,Процесс загрузки страницы,Программа выходит из строя Причина: обработка тайм-аута веб-просмотра не находится в потоке пользовательского интерфейса. Такие операции, как всплывающее уведомление и закрытие страницы, необходимо выполнять в потоке пользовательского интерфейса.
  • Сцена вторая:302Перейти на страницу,После достижения встроенного порога тайм-аута,веб-просмотр автоматически закрывается Причина: у компании есть логика автоматического закрытия при тайм-ауте загрузки страницы, а механизм тайм-аута не учитывает сценарий 302.
boy illustration
сравнение строк PHP
boy illustration
9 сценариев асинхронного сбоя @Async
boy illustration
Эффективная обработка запланированных задач: углубленное изучение секретов библиотеки APScheduler на Python
boy illustration
Рекомендации по облегченному артефакту развязки внутренних компонентов Spring Event (событие Spring)
boy illustration
Go: Лесоруб-лесоруб на колесах Введение
boy illustration
Основы серверной разработки: технология кэширования, которую должен освоить каждый программист
boy illustration
Java Advanced Collections TreeSet: что это такое и зачем его использовать?
boy illustration
Оказывается, у команды go build столько знаний
boy illustration
Node.js
boy illustration
Анализ исходного кода, связанный с запланированными задачами версии ruoyi-vue (7), то есть анализ модуля ruoyi-quartz.
boy illustration
Вход в систему с помощью скан-кода WeChat (1) — объяснение процесса входа в систему со скан-кодом, получение авторизованного QR-кода для входа.
boy illustration
HikariPool-1 — обнаружено отсутствие потока или скачок тактовой частоты, а также конфигурация источника данных Hikari.
boy illustration
Сравнение высокопроизводительной библиотеки JSON Go
boy illustration
Простое руководство по извлечению аудио с помощью FFmpeg
boy illustration
Подсчитайте количество строк кода в проекте
boy illustration
Spring Boot элегантно реализует многопользовательскую архитектуру: концепции и практика
boy illustration
Как интегрировать функцию оповещения корпоративного WeChat в систему планирования xxl-job
boy illustration
SpringBoot интегрирует отправку сообщений через веб-сокет в режиме реального времени
boy illustration
Краткий анализ основных библиотек журналов в Go: узнайте, как интегрировать функции вращения и резки бревен на уровне проектирования.
boy illustration
Реализация API-шлюза с нуля-Golang
boy illustration
[Разговорный сайт] Как Springboot получает значения свойств из файлов конфигурации yml или свойств
boy illustration
Spring Boot — синхронные события приложения против асинхронных событий публикации и подписки. Практический бой
boy illustration
Spring Boot использует Swagger3 для создания документов интерфейса API.
boy illustration
[1269] Использование Gunicorn для развертывания проектов flask.
boy illustration
Краткое изложение 10 способов регистрации bean-компонентов в SpringBoot
boy illustration
Flask Learning-9. 2 способа включения режима отладки (debug mode).
boy illustration
Руководство по настройке самостоятельного сервера для Eudemons Parlu
boy illustration
40 вопросов для собеседований по SpringBoot, которые необходимо задавать на собеседованиях! При необходимости ответьте на вопросы для собеседования SpringBoot [предлагаемый сборник] [легко понять]
boy illustration
Через два года JVM может быть заменен GraalVM.
boy illustration
Разрешение циклических зависимостей Spring Bean: существует ли неразрешимая циклическая ссылка?