Что пишут в блогах

Подписаться

Конференции

Heisenbug 2022 Spring
Большая техническая конференция по тестированию
Online — с 30 мая по 1 июня. Offline-день — 21 июня

TestDriven Conf

Профессиональная конференция по автоматизации в тестировании и рядом
27 и 28 июня, Москва, Radisson Slavyanskaya.

Что пишут в блогах (EN)

Разделы портала

Онлайн-тренинги

Как имитировать медленную связь при тестировании приложений (Android и iOS)
21.04.2022 00:00

Автор: Шрейя Бозе (Shreya Bose)
Оригинал статьи
Перевод: Ольга Алифанова

Несмотря на то, что большинство стран имеет доступ к интернету, не все интернет-соединения одинаковы. Даже области внутри одной и той же страны, города, района и даже улицы могут различаться. Мобильное приложение, рассчитывающее дотянуться до наибольшего количества пользователей, должно уверенно работать при различной скорости интернета.

У пользователей нет причин хранить приложения, не предоставляющие хорошего пользовательского опыта. Следовательно, разработчики должны создавать приложения, хорошо работающие при разных скоростях - Edge, 2G, 3G, 4G, 5G, и т. д.

Чтобы проверить, как приложение ведет себя при медленном соединении, тестировщикам надо имитировать медленную скорость связи и проверить ряд действий пользователя в приложении. Есть несколько способов это сделать, и о них расскажет эта статья.

Как имитировать медленное соединение на iOS

Для имитации плохой связи на iOS-устройствах тестировщикам нужен доступ к настройкам разработчика.

Примечание: этот процесс требует Mac и установленного XCode.

Вот как имитировать плохую связь на iPad или iPhone:

  1. Скачайте XCode для Mac.
  2. Присоедините соответствующий iPad или iPhone к XCode.
  3. Устройство спросит вас, доверяете ли вы компьютеру. Нажмите Yes.
  4. Зайдите в настройки разработчика на устройстве через меню настроек. Это возможно даже при отключенном устройстве.
  5. В настройках выберите Network Link Conditioner.
  6. Отобразится список различных профилей сети. Выберите один. Добавьте установки, если необходимо. Убедитесь, что параметры In Bandwidth, Out Bandwidth и Latency соответствуют нужной скорости сети.
  7. Нажмите Enable. Пресет активен.


Проблема с этим методом в том, что тестировщику придется подключать несколько iPhone к Mac, если нужно проверить приложение на нескольких устройствах (что в настоящее время обязательно). Это значит, что им нужен физический доступ ко всем устройствам, на которых нужно тестировать – это занимает время и силы, и не самый эффективный способ тестирования на iOS-устройствах.

Решение этой проблемы будет изложено в статье чуть позже – оно позволит масштабировать тест-инфраструктуру на множество устройств и планшетов.

Как имитировать медленную связь на устройствах Android

Для имитации плохой связи на Android попробуйте воспользоваться Charles Proxy:

Скачайте и установите Charles Proxy
Кликните на  Proxy > Throttle Settings


Кликните на Enable Throttling.
Выберите нужную скорость из Throttle Presets, или настройте пресет вручную

Кликните OK.
Снова кликните Proxy.
Кликните на Start Throttling


Скорость сети на локальной машине теперь снижена до желаемой тестировщиком. Запустите необходимые тесты на онлайн-эмуляторе Android или подключите Android-устройство для тестирования на нем.

Конечно, использование эмулятора и прокси влечет большую проблему отсутствия реальных устройств. Android-эмуляторы не могут воспроизвести нативные функции реальных устройств, особенно учитывая их разнообразие на рынке. Для точных, надежных результатов приложения нужно тестировать на реальных устройствах. Это неотъемлемый аспект процесса обеспечения качества.

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

Как имитировать медленное соединение при тестировании мобильных приложений на реальных Android и iOS устройствах в облаке

Решения проблем с обоими вышеописанными методами просты, удобны и очень надежны.

Тестируйте мобильные приложения на реальных устройствах через Real Device Cloud.

Вот как имитировать медленное соединение на реальных устройствах в облаке BrowserStack:

Бесплатно подпишитесь на BrowserStack App Live.
Авторизуйтесь.
Выберите нужную ОС (Android/iOS), производителя устройства (Samsung, Google, OnePlus, Motorola…) и конкретную модель (Galaxy S21, Galaxy S20, iPhone 7, iPhone X). В примере используется Samsung Galaxy S21.
Когда устройство выбрано, загрузите тестируемое приложение. Это можно сделать по ссылке или напрямую с компьютера тестировщика.


После загрузки приложения и клика по выбранному устройству загрузится сессия тестирования.
Обратите внимание на опциюThrottle Network слева:


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


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

Обсудить в форуме