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