Примите участие в нашем опросе о юзабилити, чтобы улучшить этот сайт.
Эта страница переведена с помощью 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» для получения самой последней информации о том, как запускать существующие тесты, такие как « Инструменты» .

Сценарии использования

Модульность 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 , означает, что также просто представить произвольные результаты тестирования (включая, например, числовые показатели мощности) в стандартный конвейер отчетов о результатах.