Является ли использование режима полета приемлемым способом проверки отсутствия соединения? - PullRequest
2 голосов
/ 07 февраля 2011

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

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

Что я хотел бы знать, так это то, что использует режим полета, чтобы дать нам разумную симуляцию входа / выхода из области без данных или есть другие последствия?

Я видел вопросов , поднимающих вопрос о том, что соединение 3G / EDGE может не всегда просыпаться после включения режима полета - хотя я ценю, что этот метод никак как хорошо, что мы действительно в полевых испытаниях, если мы сможем получить разумное моделирование и учесть большинство возникающих проблем, то я думаю, что это приемлемый компромисс.

Я прошу прощения, если об этом уже спрашивали, я выполнил поиск здесь и в Google, но не смог найти подходящих результатов.

Ответы [ 5 ]

6 голосов
/ 28 марта 2013

Вы должны попробовать Network Link Conditioner

enter image description here

Существует сеанс WWDC 2012 под названием Рекомендации по работе в сети , в котором упоминается об этом (но он не объясняет, как его использовать).


Чтобы получить его, вам нужно перейти на XCode / Открыть инструмент разработчика / Дополнительные инструменты разработчика .. и загрузить последние версии аппаратных средств ввода-вывода для XCode.

enter image description here

Как только вы установите его из пакета IO Tools, в настройках системы появится «Network Link Conditioner»

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

enter image description here

В iOS для кондиционера сетевого соединения установлено значение Настройки / Разработчик (для просмотра необходимо включить режим разработчика в XCode)

3 голосов
/ 07 февраля 2011

Основная проблема заключается в том, что в режиме «В самолете» сетевые операции быстро прекращаются, в то время как нестабильный мобильный сигнал приведет к тайм-аутам и скоростям в несколько байтов в час. Обычно это существенная разница с точки зрения пользовательского интерфейса. (Возможно, стоит попробовать использовать какой-то дроссель пропускной способности, чтобы лишить тестирующую машину скорости и посмотреть, как она себя ведет, когда сеть начинает ломаться?)

2 голосов
/ 07 февраля 2011

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

1 голос
/ 07 февраля 2011

Это зависит от того, какие режимы сбоя вы пытаетесь протестировать.

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

Другие проверки обработки сбоев сети могут включать:

  • только 3G (без Wi-Fi).
  • Только WIFI (в режиме полета).
  • Потяните шнур питания на точке доступа WIFI.
  • Потяните сетевой кабель с задней стороны точки доступа WIFI после подключения к ней (доступность может ошибочно сказать да).
  • Вход и выход из подвального лифта (или другой клетки Фарадея) в середине трансфера.
  • Перемещение между 2 вышками сотовой связи во время передачи данных.
  • Ходьба между двумя включенными точками доступа WIFI между подключением и передачей данных.
  • Запуск приложения после более чем 30 минут бездействия устройства (радиостанции могут бездействовать).
  • Запуск приложения, когда другое приложение (Safari, Mail) загружается в фоновом режиме.
  • и т. Д.
1 голос
/ 07 февраля 2011

Возможно, вы захотите попробовать это через ваш wlan-роутер.Во-первых, отключите роуминг данных на вашем iPhone.Затем подключите iPhone к Интернету через сеть WLAN.Затем отключите шлюз на маршрутизаторе WLAN, когда iPhone все еще подключен к сети WLAN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...