Этот контент предназначен для разработчиков платформы Android. Прежде чем понять, как проводится тестирование на платформе Android, ознакомьтесь с обзором архитектуры платформы Android .
Затем углубитесь в конкретные технологии, доступные вам в этом разделе, такие как Vendor Test Suite (VTS) и множество видеоуроков и руководств по лабораторным работам .
Также обратите внимание на механизмы тестирования безопасности , доступные для обнаружения и защиты ваших устройств от уязвимостей.
При тестировании приложений начните с «Основ тестирования» и проведите кодовую лабораторию по тестированию 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 Compatibility Test Suite — это набор различных типов тестов, используемых для обеспечения совместимости реализаций платформы 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 и restart.xml .
Отладка
В разделе «Отладка» собраны полезные инструменты и связанные команды для отладки, отслеживания и профилирования встроенного кода платформы Android при разработке функций уровня платформы.