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

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

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

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

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

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

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

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

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

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

Типы 1 и 2 , как правило , записывается в виде инструментальных испытаний , в то время как тип 3, как правило , записывается в виде нативных тестов с использованием GTEST рамки.

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

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

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

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

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

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

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

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

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

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

Отладка

Debugging раздел приведена полезные инструменты и связанную с ними команду для отладки, трассировки и профилирования нативного кода Android платформы при разработке функций на уровень платформы.