Чтобы интегрировать тесты в службу непрерывного тестирования платформы, они должны соответствовать рекомендациям на этой странице и следовать рекомендованному алгоритму.
- Используйте систему сборки Soong для Simple Test Configuration .
- Используйте Test Mapping , чтобы легко создавать правила тестирования до и после отправки непосредственно в дереве исходного кода Android.
- Запускайте тесты локально с помощью Atest .
Типы тестов
Поддерживаемые типы тестов:
- Инструментальные тесты поддерживают как функциональные, так и метрические тесты. Общие рекомендации по тестированию приложений см. в разделе Тестирование приложения .
- GoogleTest (GTest) поддерживает следующие типы тестов:
- Функциональные GTests с использованием фреймворка GTest
- Метрические тесты с использованием
google-benchmark
- Хост-тесты JAR с использованием JUnit
Функциональные тесты делают утверждения о прохождении или сбое в тестовых примерах, в то время как тесты метрик обычно многократно выполняют действие для сбора метрик времени.
Благодаря стандартизированному формату ввода/вывода отпадает необходимость в индивидуальном анализе результатов и постобработке для каждого теста, а общие тестовые наборы могут использоваться для всех тестов, которые соответствуют соглашению. См. обзор Торговой федерации , чтобы узнать о среде непрерывного тестирования, включенной в Android.
Рекомендации по тестированию {рекомендации}
Ожидается, что тестовые случаи, выполняемые через службу непрерывного тестирования, будут герметичными , что означает, что все зависимости объявлены и предоставлены с тестами. См. Hermetic Servers в блоге тестирования Google , чтобы понять этот принцип. Короче говоря, герметичные испытания не требуют:
- Вход в учетную запись Google
- настроено подключение (телефония/Wi-Fi/Bluetooth/NFC)
- переданные параметры теста
- установка или демонтаж, выполняемые тестовой программой для конкретного тестового примера