Жизненный цикл тестирования TF

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

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

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

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

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

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

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

Вывод этапа и ошибки

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

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

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

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

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

Целевая подготовка

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

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

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

Тесты

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

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

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

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

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

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