Этот контент предназначен для разработчиков платформы Android. Прежде чем понять, как проводится тестирование на платформе Android, ознакомьтесь с обзором архитектуры платформы Android .
Затем изучите точные технологии, доступные вам в этом разделе, такие как Vendor Test Suite (VTS) и его бесчисленное множество видео и учебных пособий .
Также обратите внимание на специальные механизмы тестирования безопасности , доступные для обнаружения и защиты ваших устройств от уязвимостей.
Для тестирования приложений начните с Основ тестирования и проведите Codelab тестирования Android , используя предоставленные образцы .
Наконец, обратите внимание, что базовое тестирование перед отправкой доступно вам через Repo Hooks , которые могут запускать линтеры, проверять форматирование и запускать модульные тесты перед продолжением, например загрузкой коммита. Обратите внимание, что эти хуки по умолчанию отключены. См. введение в Repo Hooks для более подробной информации.
Что и как тестировать
Тест платформы обычно взаимодействует с одной или несколькими системными службами Android или уровнями аппаратного абстрагирования (HAL), проверяет функциональные возможности тестируемого объекта и подтверждает правильность результатов тестирования.
Таким образом, тестирование платформы может:
- использовать API-интерфейсы фреймворка через фреймворк приложений; конкретные используемые API могут включать:
- общедоступные API, предназначенные для сторонних приложений
- скрытые API, предназначенные для привилегированных приложений, а именно системные API
- частные API-интерфейсы (@hide или protected, package private)
- вызывать системные службы Android напрямую через необработанные связующие / прокси-серверы IPC
- напрямую взаимодействовать с HAL через низкоуровневые API или интерфейсы IPC
Типы 1 и 2 обычно пишутся как инструментальные тесты , а тип 3 обычно пишутся как GTests .
Чтобы узнать больше, посмотрите наши сквозные примеры:
Ознакомьтесь с этими инструментами, поскольку они являются неотъемлемой частью тестирования в Android.
Набор тестов совместимости (CTS)
Набор тестов на совместимость с Android — это набор различных типов тестов, используемых для обеспечения совместимости реализаций платформы Android между OEM-партнерами и версиями платформы. Пакет также включает инструментальные тесты и структуру GTest.
Тесты 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 при разработке функций уровня платформы.