Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Тестирование платформы Android

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

Затем погрузитесь в точные технологии, доступные вам в этом разделе, такие как Vendor Test Suite (VTS) и его бесчисленное множество видео и учебных пособий по кодовой лаборатории .

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

Для тестирования приложений начните с основ тестирования и проведите тестовую лабораторию Android, используя предоставленные образцы .

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

Что и как тестировать

Платформенный тест обычно взаимодействует с одной или несколькими системными службами Android или слоями уровня аппаратной абстракции (HAL), проверяет функциональные возможности тестируемого объекта и подтверждает правильность результатов тестирования.

Таким образом, тест платформы может:

  1. использовать API фреймворка через фреймворк приложения; конкретные используемые API могут включать:
    • общедоступные API, предназначенные для сторонних приложений
    • скрытые API, предназначенные для привилегированных приложений, а именно системные API
    • частные API (@hide или защищенный, частный пакет)
  2. вызывать системные службы Android напрямую через необработанные связыватели / прокси IPC
  3. напрямую взаимодействовать с HAL через низкоуровневые API или интерфейсы IPC

Типы 1 и 2 обычно пишутся как инструментальные тесты , а типы 3 обычно пишутся как собственные тесты с использованием инфраструктуры gtest .

Чтобы узнать больше, просмотрите наши сквозные примеры:

Ознакомьтесь с этими инструментами, поскольку они необходимы для тестирования в Android.

Набор тестов совместимости (CTS)

Android Compatibility Test Suite - это набор различных типов тестов, используемых для обеспечения совместимости реализаций платформы Android между OEM-партнерами и между выпусками платформ. В комплект также входят инструментальные тесты и собственные тесты (также с использованием gtest framework).

CTS и платформенные тесты не исключают друг друга, и вот несколько общих рекомендаций:

  • если тест подтверждает правильность функций / поведения API фреймворка, и он должен выполняться всеми OEM-партнерами, он должен быть в CTS
  • если тест предназначен для выявления регрессий во время цикла разработки платформы и может потребовать привилегированного разрешения для выполнения и может зависеть от деталей реализации (выпущенных в AOSP), это должны быть только тесты платформы.

Комплект для тестирования поставщиков (VTS)

Vendor Test Suite (VTS) автоматизирует тестирование HAL и ядра ОС. Чтобы использовать VTS для тестирования реализации собственной системы Android, настройте среду тестирования, а затем протестируйте исправление, используя план VTS.

Инфраструктура тестирования Торговой федерации

Trade Federation (сокращенно tradefed или TF) - это среда непрерывного тестирования, предназначенная для запуска тестов на устройствах Android. TF может запускать функциональные тесты локально, на вашем столе, в рамках проверки вашей платформы. Для запуска теста в TF требуются два файла: исходный код java-теста и конфигурация XML. Примеры см. В RebootTest.java и reboot.xml .

Отладка

В разделе « Отладка » приведены полезные инструменты и связанные команды для отладки, трассировки и профилирования собственного кода платформы Android при разработке функций уровня платформы.