При тестировании мобильных приложений, новички QA часто забывают проверить работу аппки при нестабильном интернет-соединении. Во многих случаях это критично: скорость соединения напрямую влияет на пользовательский опыт и работоспособность основных функций. Это особенно актуально для приложений, где активно используются геолокация и мобильный интернет. Например, видеочаты, мессенджеры и другие мультимедийные продукты, на которых Fora Soft специализируется.
В этой статье мы покажем, как без особых хлопот испортить интернет на тестовом устройстве.
iOS
Начнем со стандартной утилиты Network Link Conditioner для тестирования iOS-приложений. Она позволяет QA настроить интернет-соединение так, как ему нужно.
Чтобы включить эту функцию на iPhone, необходимо устройство на Mac OS:
- Откройте Xcode на Mac
- Подключите iPhone к Mac
- Разрешите Mac доступ к iPhone
- Откройте настройки на iPhone
- Прокрутите вниз
- Нажмите "Разработчик"
Нажмите на "Network Link Conditioner".
Выберите предустановку сети или создайте свою собственную
Подвиньте переключатель на "Включить".
iOS позволяет нам выбрать один из предустановленных сценариев качества соединения - или создать собственный сценарий.
Для собственного сценария доступны следующие настройки:
- Пропускная способность входящего трафика в Kbps
- Потеря входящих пакетов в %
- Задержка пакетов для входящего трафика в мс
- Пропускная способность исходящего трафика в Kbps
- Потеря исходящих пакетов в %
- Задержка пакетов для исходящего трафика в мс
- Задержка DNS в мс
- Выбор IP-протокола: IP v.4, IP v.6 или оба
- Выбор подключения: WiFi, мобильная связь или оба
Здесь мы видим, что Apple позаботилась о тестировании приложений с разными уровнями качества соединения и предоставила нам практически все необходимые настройки.
Познакомившись с Network Link Conditioner для iOS, мы были уверены, что такая функция будет и на Android. Боже, как сильно мы ошибались.
Android
Эмулировать медленное или нестабильное соединение на реальном Android с помощью стандартных инструментов оказалось невозможно. Поэтому тут было два пути: скачать несколько приложений из Google Play, эмулирующих медленное соединение, или использовать специально точную настройку точки доступа к интернет-соединению.
Приложения не подошли ☹ Все приложения, дающие такую функцию, требуют Root-доступ, а это нарушает концепцию тестирования в реальных условиях.
Поэтому, оставив Root-доступ как последнее средство, присмотрелись к пути №2 - настройке точки доступа.
Раньше мобильный трафик быстро заканчивался, и многие использовали iPhone в качестве точки доступа. Пришла идея: смешать студенческий опыт и недавно полученные знания.
Использование Network Link Conditioner и точки доступа из macOS или iOS не требует дополнительных знаний и легко настраивается. Именно то, что нужно, если мы хотим сэкономить время.
Итак, для эмуляции плохого соединения на Android нам понадобится устройство Android и... iPhone с включенным мобильным интернетом Developer Tools.
- Сделайте iPhone точкой доступа (Настройки > Мобильные данные > Персональная точка доступа).
- Настройте соединение с помощью Network Link Conditioner
- Подключитесь к точке доступа с помощью устройства Android
- Готово. Вы великолепны 🙂
Конечно, рассмотренные в этой статье способы разрыва интернета - не единственные варианты. О более сложных вариантах, таких как эмуляторы Android и iOS, мы расскажем в следующей статье.
Это перевод текста с нашего сайта, оригинал здесь.