Чтобы интегрировать тесты в службу непрерывного тестирования платформы, они должны соответствовать рекомендациям на этой странице и следовать этому рекомендуемому процессу.
- Используйте систему сборки Soong для простой конфигурации теста .
- Используйте функцию сопоставления тестов для создания правил тестирования до и после отправки непосредственно в исходном дереве Android.
- Запускайте тесты локально с помощью Atest .
Типы тестов
Поддерживаемые типы тестов:
- Инструментальные тесты поддерживают как функциональные, так и метрические тесты. Общие рекомендации по тестированию приложений см. в разделе «Протестируйте приложение».
- GoogleTest (GTest) поддерживает следующие типы тестов:
- Функциональные GTest-тесты с использованием фреймворка GTest
- Метрические тесты с использованием
google-benchmark
- Тестирование хоста JAR с использованием JUnit
Функциональные тесты подтверждают прохождение или провал тестовых случаев, в то время как метрические тесты обычно выполняют действие повторно для сбора временных показателей.
Благодаря стандартизированному формату ввода/вывода устраняется необходимость в индивидуальном анализе и постобработке результатов для каждого теста, а универсальные тестовые инструменты можно использовать для всех тестов, соответствующих требованиям. Подробнее о фреймворке непрерывного тестирования, входящем в состав Android, см. в разделе «Обзор Trade Federation» .
Руководство по тестовым случаям
Тестовые случаи, выполняемые через службу непрерывного тестирования, должны быть герметичными , то есть все зависимости должны быть объявлены и предоставлены вместе с тестами. Подробнее об этом принципе см. в разделе «Герметичные серверы» в блоге Google Testing. Вкратце, для герметичных тестов не требуется:
- Вход в аккаунт Google
- Настроенное подключение (телефония/Wi-Fi/Bluetooth/NFC)
- Параметры теста переданы
- Настройка или демонтаж, выполняемый тестовой программой для конкретного тестового случая