Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Обзор торговой федерации

Trade Federation (сокращенно Tradefed или TF) - это среда непрерывного тестирования, предназначенная для запуска тестов на устройствах Android. Например, Tradefed используется для запуска наборов тестов совместимости (CTS) и Vendor Test Suite (VTS) .

Trade Federation - это приложение Java, которое запускается на главном компьютере и взаимодействует с одним или несколькими устройствами Android с помощью ddmlib (библиотеки, лежащей в основе DDMS) через adb.

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

Характеристики

  • модульный, гибкий, масштабируемый дизайн
  • имеет встроенную поддержку для запуска множества различных типов тестов Android: инструментарий , uiautomator , native / gtest, JUnit на основе хоста и т. д.
  • предоставляет механизмы надежности и восстановления поверх adb
  • поддерживает планирование и запуск тестов на нескольких устройствах параллельно

См. Раздел « Тестирование через TF» для получения самой последней информации о том, как запускать существующие тесты, такие как Instrumentation .

Случаи использования

Модульность Trade Federation упрощает подключение к средам с существующими инфраструктурами сборки, тестирования и отчетности. Ниже мы перечисляем несколько наглядных примеров использования, в которых tradefed может обеспечить эффективные и масштабируемые методы тестирования.

Во-первых, полезно рассмотреть ландшафт потенциальных вариантов использования с точки зрения вопроса «какие части можно изменять, а какие статичны?» Например, OEM-производитель устройств может изменять структуру, систему и оборудование, но практически не влияет на существующие приложения. С другой стороны, разработчик приложения может изменить приложение, но не имеет большого контроля над большинством аспектов системы или инфраструктуры.

В результате объект в каждом сценарии использования будет иметь разные цели тестирования и будет иметь разные варианты в случае набора неудачных тестов. Несмотря на эти различия, Trade Federation может помочь сделать каждый из своих процессов тестирования эффективным, гибким и масштабируемым.

OEM устройства

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

Изготовитель оборудования может реализовать модуль прошивки устройства, который будет выполняться на этапе целевой настройки жизненного цикла . Этот модуль будет иметь полный контроль над устройством в течение периода его выполнения, что позволит ему потенциально принудительно запустить устройство в загрузчик, прошить, а затем принудительно перезагрузить устройство обратно в режим пользовательского пространства. В сочетании с модулем для подключения к системе непрерывной сборки это позволит OEM-производителю запускать тесты на своем устройстве при внесении изменений в микропрограммное обеспечение системного уровня и платформы уровня Java.

Как только устройство будет полностью загружено, OEM-производитель сможет использовать существующие тесты на основе JUnit или написать новые для проверки интересующей функциональности. Наконец, они могут написать один или несколько модулей отчетов о результатах, которые будут связаны с существующими репозиториями результатов тестирования или для непосредственного отчета о результатах (например, по электронной почте ).

Разработчик приложений

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

Большинство разработчиков приложений будут использовать модули установки apk-теста, которые уже существуют в TF. Есть версия, которая устанавливается из локальной файловой системы , а также версия, которая может устанавливать файлы apks, загруженные из службы сборки . Важно отметить, что последняя версия будет продолжать правильно работать с произвольно большим количеством экземпляров TF, запущенных на одном хосте.

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

Служба тестирования

Служба тестирования может, например, позволить разработчикам приложений отправлять приложения и запускать тесты на устройствах, оснащенных инструментами измерения мощности, для определения энергопотребления для приложения. Это отличается от двух предыдущих вариантов использования тем, что построитель служб не контролирует устройства или запущенные приложения.

Поскольку Trade Federation может запускать любой Java-класс, реализующий простой интерфейс IRemoteTest , IRemoteTest написать драйверы, которые могут координировать некоторую внешнюю часть оборудования с тестовым примером, который выполняется на устройстве. Сам драйвер может порождать потоки, отправлять запросы на другие серверы или делать все, что ему может понадобиться. Более того, простота и универсальность интерфейса отчетов о результатах, ITestInvocationListener , означает, что также просто представить произвольные результаты тестирования (включая, например, числовые показатели мощности) в стандартный конвейер отчетов о результатах.