Найти в Дзене
VK Team

Функции режимов разработчика на Android и iOS

Оглавление

В этой статье рассмотрим, какие инструменты предоставляют режимы разработчика на Android и iOS и чем они могут быть полезны во время тестирования. Материал подготовил Илья Прудников, участник программы бета-тестирования VK Testers.

Что это за режимы такие?

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

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

Режим разработчика Android

Разблокировка режима

Наверняка многие знают, как открыть панель «Для разработчиков» на Android. В этом нет ничего сложного, однако повторим:

  1. Открываем Настройки — Сведения о телефоне (Об устройстве) — Сведения о ПО — Номер сборки.
  2. Нажимаем на строку «Номер сборки» несколько раз (в моём случае семь). Если система запрашивает пароль от устройства, вводим его.
  3. Возвращаемся в Настройки, открываем настройки системы и наблюдаем новую панель «Для разработчиков».
Разблокировка режима разработчика на Android
Разблокировка режима разработчика на Android

Открыв её, мы можем увидеть, что Android предоставляет довольно много инструментов. Разберём по порядку те, что могли бы нас заинтересовать.

Мониторинг памяти

Очень простой и понятный раздел, позволяющий мониторить использование памяти за определённый промежуток времени. Здесь мы можем подробно рассмотреть, сколько оперативной памяти использует в среднем каждое запущенное приложение и максимальное количество использованной памяти.

-2

Отладка по USB

Отладка — один из самых главных инструментов режима разработчика, позволяющий напрямую подключать устройство к компьютеру. Благодаря этому перед нами открываются дополнительные инструменты, которые можно взять на вооружение — например, ADB и дебаг WebView.

Подмена местоположения

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

Для того, чтобы приступить к подмене, нужно установить приложение из Google Play, которое будет заниматься этим. Например, Fake GPS location.

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

Теперь все будут думать, что мы из Вены
Теперь все будут думать, что мы из Вены

Отрисовка касаний

Мало найти баг, его нужно ещё и грамотно зарепортить. Часто приходится прикреплять к отчёту записи экрана, и будет нелишним показывать на записи места ваших касаний, так как не всегда понятно, что именно вы делаете. Чтобы детально отобразить все ваши касания переведите свитчи «Показывать нажатия» и «Место касания» в рабочее состояние. Теперь будут показываться все ваши касания — и тапы, и свайпы.

Затронем тему UI

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

Чтобы научить устройство показывать нам подробности всех элементов интерфейса, достаточно перевести свитч параметра «Показывать границы элементов» в рабочее состояние. Теперь мы можем видеть, как отображаются все элементы: видно размеры, отступы, границы. Это может быть полезным во время тестирования. К примеру, так можно отслеживать область элементов и выявить, что функция клика кнопки будет работать за её визуальной частью.

Ещё одна классная функция — изменение минимальной ширины устройства. Чтобы посмотреть, как приложение отображает какой-то элемент интерфейса на более маленьком или большом экране, можно изменить параметры ширины устройства. Например, 320 dp — совсем небольшой экран, сравнимый с iPhone 5, а значение, примерно равное 360–400 dp — это уже современное устройство с довольно крупным экраном.

Но это не значит, что теперь можно просто поменять значение параметра и протестировать весь интерфейс приложения: с этим могут возникнуть проблемы. А вот для того, чтобы посмотреть, как выглядит какой-нибудь элемент — например, не заходит ли за край экрана, правильно ли переносится на другую строку, — сойдёт.

В этом же разделе можно изменить скорость анимации в системе. Например, замедлить её, чтобы рассмотреть более детально.

-4

Developer Mode iOS

Помните, как просто было разблокировать режим разработчика на Android? На iOS всё сложнее, и для разблокировки режима разработчика необходимо иметь Mac или устанавливать образ macOS на виртуальную машину. Разберём порядок действий, необходимых для разблокировки режима разработчика на iOS:

  1. Устанавливаем приложение XCode на компьютер. Как говорилось ранее, для этого нужен либо компьютер от Apple, либо установленный образ яблочной системы на виртуальной машине.
  2. Подключаем iOS устройство к компьютеру.
  3. На устройстве в открывшемся алерте нажимаем «Доверять», чтобы оно присоединилось к компьютеру.
  4. С присоединённым устройством открываем XCode на компьютере и идём в настройки устройства — там должен появится новый пункт Developer.
Разблокировка режима разработчика на iOS
Разблокировка режима разработчика на iOS

Процесс разблокировки режима заметно сложнее, чем на Android, но что же мы получаем? Режим разработчика на iOS выглядит скуднее, чем вариант на Android, однако хотелось бы отметить некоторые очень интересные инструменты.

Настройка пропускной способности сети

Developer Mode на iOS позволяет изменять скорость интернета так, как захочется. Помните подобный инструмент в DevTools? Это его аналог.

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

-6

Создание своих профилей

Помимо заранее заготовленных профилей можно создать свой с собственными настройками, нажав на Add a profile. Инструмент позволяет гибко настраивать профиль, изменяя параметры приёма и отдачи: пропускную способность, задержку и процент утерянных пакетов.

-7

Дебаг WebView

Поскольку режим разработчика на iOS не очень радует количеством инструментов — затронем тему дебага WebView. Нужен компьютер на macOS и само устройство:

  1. Открываем Настройки — Настройки Safari.
  2. В настройках Safari открываем панель «Дополнения».
  3. Включаем «Веб-инспектор».
Включение веб-инспектора на iOS
Включение веб-инспектора на iOS

Итак, веб-инспектор включён, а значит можно дебажить приложения через Safari, но сначала включаем меню «Разработка» на компьютере, как нас просил Веб-инспектор на скриншоте выше.

-9

Теперь можно дебажить открытые в Safari приложения, так открывается консоль:

-10

Консоль на macOS работает аналогично с гугловским DevTools:

-11
-12

Заключение

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

Надеюсь, каждый нашёл в статье что-нибудь интересное, благодарю за внимание!

Илья Прудников, участник программы бета-тестирования VK Testers