Жизненный цикл теста TF

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

Определенные интерфейсы

  • Поставщик сборки : предоставляет сборку для тестирования, при необходимости загружая соответствующие файлы.
  • Target Preparer : подготавливает тестовую среду, возможно, включая установку программного обеспечения и настройку устройства.
  • Тест : выполняет тест (ы) и собирает результаты тестирования. Это может быть любой тест JUnit, хотя наш интерфейс IRemoteTest специально разработан для хорошей работы в среде Trade Federation.
  • Слушатель вызова теста (отчет о результатах) : прослушивает результаты теста, обычно с целью пересылки результатов теста в репозиторий или отображения их в Test Runner.

Основным объектом тестирования в TF является Конфигурация (config). Конфигурация - это XML-файл, в котором объявляются компоненты жизненного цикла теста.

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

Это удобно отметить, что конфигурация вместе с параметрами командной строки (как это предусмотрено Test Runner) известна как Command. Когда TF ITestDevice команду с ITestDevice и выполняет ее, последующий объект известен как Invocation . Короче говоря, вызов включает в себя полное выполнение теста TF на протяжении всего его жизненного цикла.

Дополнительные компоненты конфигурации

Сценический результат и ошибки

Каждый этап вызова выполняется последовательно и преследует конкретную цель. В этом разделе описаны обычные результаты и ошибки каждого этапа.

Поставщик сборки

На этом этапе создается и IBuildInfo объект IBuildInfo , содержащий все необходимые ссылки на файлы для настройки и запуска тестов.

Самая частая ошибка на этом этапе - невозможность скачать или найти запрошенные файлы.

Ошибка на этом этапе приводит к прямому сообщению об ошибке, и никакие тесты не запускаются.

Подготовка мишени

На этом этапе настраиваются необходимые состояния тестируемой цели. На этом этапе можно изменить устройство или настройку хоста по мере необходимости для данного тестового вызова.

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

Ошибка на этом этапе приводит к выполнению целевой очистки, сообщению об ошибке и отсутствию запусков тестов.

Тесты

На этом этапе запускаются запрошенные тесты на предварительно подготовленной цели и сообщаются все результаты выполнения тестов.

Распространенные ошибки на этом этапе обычно связаны с недоступностью тестируемого объекта или какой-либо ошибкой, вызывающей частичное выполнение тестов. Эти ошибки представляют собой проблемы инфраструктуры, которые влияют на само выполнение теста, а не на отказ одного тестового примера.

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

Отчет о результатах

На этом этапе результаты и ошибки передаются настроенным службам (например, серверам и локальным файлам).

Хотя отдельные репортеры результатов могут иметь ошибки, они изолированы друг от друга (один репортер не видит ошибок от другого). Эти ошибки влияют только на собственные отчеты о результатах репортера, и ошибки можно просмотреть в журналах.