page.title=Руководство по тестированию page.image=images/cards/card-build_16x9_2x.png page.keywords=ресурсы для предварительной версии,androidm,тестирование,разрешения @jd:body

Содержание документа

  1. Тестирование разрешений
  2. Тестирование режима «Doze» и ждущего режима для приложений
  3. Автоматическое резервное копирование и идентификаторы устройств

Android M Developer Preview предлагает вам проверить, как будут работать ваши приложения в следующей версии платформы. В ней реализован ряд изменений в API-интерфейсах и поведении системы, которые могут повлиять на работу вашего приложения, как описано в статьях Обзор API-интерфейсов и Изменения в работе. Если вы хотите обеспечить удобство работы пользователей, при тестировании вашего приложения в предварительной версии платформы обратите особое внимание на изменения в системе.

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

Дополнительные сведения о том, как настроить физические или виртуальные устройства с помощью системного образа предварительной версии платформы к тестированию, представлены в статье Настройка SDK Preview.

Тестирование разрешений

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

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

Советы по тестированию

Ниже представлены советы по тестированию, которые призваны помочь вам спланировать и провести тестирование вашего приложения с использованием новой модели разрешений.

Стратегия тестирования

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

Определите круг разрешений, которые действительно необходимы для работы вашего приложения, и найдите фрагменты кода, где используются службы, защищенные разрешениями. Для этого протестируйте работу приложения на новой платформе и проанализируйте код. При тестировании следует сосредоточиться на использовании разрешений на выполнение путем изменения параметра {@code targetSdkVersion} приложения для использования предварительной версии. Дополнительные сведения представлены в статье Настройка SDK Preview.

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

Дополнительные сведения о поведении разрешений на выполнение и тестировании, а также советы и рекомендации по данному вопросу представлены на странице Разрешения.

Тестирование режима «Doze» и ждущего режима для приложений

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

Тестирование работы приложения в режиме «Doze»

Ниже представлен порядок тестирования режима «Doze».

  1. Установите на физическое или виртуальное устройство системный образ M Preview.
  2. Подключите устройство к компьютеру для разработки и установите ваше приложение.
  3. Запустите ваше приложение и не закрывайте его.
  4. Смоделируйте переход устройства в режим «Doze», выполнив следующие команды:
    $ adb shell dumpsys battery unplug
    $ adb shell dumpsys deviceidle step
    $ adb shell dumpsys deviceidle -h
    
  5. Понаблюдайте за поведением приложения после возвращения устройства в обычный режим. Убедитесь, что при выходе устройства из режима «Doze» приложение должным образом возобновляет свою работу .

Тестирование работы приложения в ждущем режиме

Ниже представлен порядок тестирования ждущего режима для приложений.

  1. Установите на физическое или виртуальное устройство системный образ M Preview.
  2. Подключите устройство к компьютеру для разработки и установите ваше приложение.
  3. Запустите ваше приложение и не закрывайте его.
  4. Смоделируйте переход приложения в ждущий режим, выполнив следующие команды:
    $ adb shell am broadcast -a android.os.action.DISCHARGING
    $ adb shell am set-idle <packageName> true
    
  5. Смоделируйте выход приложения из ждущего режима, выполнив следующую команду:
    $ adb shell am set-idle <packageName> false
  6. Понаблюдайте за поведением приложения, когда оно возобновляет свою работу. Убедитесь, что оно выходит из ждущего режима без сбоев. Обратите особое внимание на работу уведомлений и выполнение фоновых задач приложения .

Автоматическое резервное копирование для приложений и идентификаторы устройств

Если во внутреннем хранилище вашего приложения имеются какие-либо идентификаторы устройства, такие как идентификатор Google Cloud Messaging, обязательно воспользуйтесь советами и рекомендациями, приведенными в статье Автоматическое резервное копирование для приложений,чтобы исключить расположение хранилища из списка объектов для автоматического резервного копирования.