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