Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

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

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

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

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

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

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

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

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

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

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

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

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

Ознакомьтесь с этими инструментами, так как они присущи тестированию в Android.

Тест на совместимость (CTS)

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

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

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

Vendor Test Suite (VTS)

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

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

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

Отладка

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