Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Торговая Федерация Обзор

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

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

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

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

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

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

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

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

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

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

Устройство OEM

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

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

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

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

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

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

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

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

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

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