Все новости и события
Статья9 октября, 18:10 МСК

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

главное фото

Это возможность открыть новые функции в смартфоне

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

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

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

В этом разделе говорим исключительно про Android

Режим разработчика Android<br/>Разблокировка режима

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

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

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

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

Отладка по USB

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

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

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

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

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

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

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

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

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

Теперь разбираемся с iOS — будет сложнее

Developer Mode iOS

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

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

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

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

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

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

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

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

Дебаг WebView

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

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

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

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

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

Заключение

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

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

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

Может быть интересно

Картинка новости 23383 ...Новость
7 апреля, 18:04 МСК

VK и МФТИ запустили магистратуру по ИИ и анализу данных

Картинка новости 23270 ...Новость
18 февраля, 11:02 МСК

Команда VK Education запустила 25 бесплатных IT- и digital-программ

Картинка новости 23243 ...Новость
21 января, 09:01 МСК

VK и НИУ ВШЭ в Санкт-Петербурге запускают Школу информатики, физики и технологий