Выполнение автоматических тестов из планов тестирования

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Автоматизируйте тестовые случаи в планах тестирования и запустите их непосредственно из планов тестирования Azure. Автоматические тесты предоставляют следующие преимущества:

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

Необходимые компоненты

  • Доступ к проекту. Убедитесь, что вы добавляете в проект.
  • Уровни доступа. Убедитесь, что у вас есть по крайней мере базовый доступ или более высокий.
  • Дополнительные сведения см. в разделе "Тестовый доступ и разрешения вручную".
  • У вас также должны быть следующие элементы.
    • План тестирования, содержащий автоматические тесты, связанные с автоматизированными методами тестирования с помощью Visual Studio 2017 или Visual Studio 2015 или более ранней версии.
    • Конвейер сборки, который создает сборки, содержащие двоичные файлы теста.
    • Приложение для тестирования. Приложение можно развернуть в рамках рабочего процесса сборки и выпуска, а также использовать его для тестирования по запросу.
    • Разрешения на создание выпусков и управление ими, изменение среды выпуска и управление развертыванием. Дополнительные сведения см. в разделе "Разрешения на выпуск".

Настройка среды

  1. На странице "Планы тестирования" выберите план тестирования, откройте контекстное меню и выберите параметры плана тестирования.

    Снимок экрана: выбор параметров плана тестирования.

  2. В диалоговом окне "Параметры плана тестирования" выберите конвейер сборки, который создает сборки, содержащие тестовые двоичные файлы. Затем можно выбрать определенный номер сборки для тестирования или позволить системе автоматически использовать последнюю сборку при выполнении тестов.

    Снимок экрана: выбор номера сборки и сборки.

  3. Вам нужен конвейер выпуска, созданный из шаблона Test Manager для запуска автоматических тестов из шаблона Test Manager , чтобы выполнить тесты из планов тестирования в планах тестирования Azure. Если у вас есть существующий конвейер выпуска, созданный с помощью этого шаблона, выберите его и выберите существующий этап в конвейере выпуска для выполнения теста. В противном случае нажмите кнопку "Создать" в диалоговом окне, чтобы создать конвейер выпуска, содержащий один этап с уже добавленной задачей Visual Studio Test .

    Снимок экрана: выбор конвейера выпуска или создание нового.

    Разделы справки передать параметры в тестовый код из конвейера сборки или выпуска?

  4. При необходимости назначьте значимые имена конвейеру выпуска и этапу.

  5. Если Visual Studio уже установлена на компьютере агента, пропустите этот шаг. В противном случае добавьте задачу установщика платформы тестирования Visual Studio в определение конвейера.

  6. Добавьте задачу Тестирования Visual Studio в конвейер выпуска и настройте ее следующим образом:

    • Убедитесь, что выбрана версия 2 задачи тестирования Visual Studio. Номер версии отображается в раскрывающемся списке панели параметров задачи.

      Снимок экрана: проверка параметра номера версии задачи.

    • Убедитесь, что для тестов задано значение "Выбор тестов". Что означает этот параметр?

      Снимок экрана: проверка параметра метода выбора теста.

    • Для параметра версии платформы тестирования выберите "Установить с помощью установщика средств".

      Снимок экрана: установка параметра установщика.

    • Если у вас есть тесты пользовательского интерфейса, выполняемые в физических браузерах или толстых клиентах, убедитесь, что агент будет запущен как интерактивный процесс с включенным автологом. Перед очередью сборки или выпуска необходимо настроить агент для интерактивного запуска. Набор тестов содержит флажок "Тесты пользовательского интерфейса" не настраивает агент в интерактивном режиме автоматически. Используется только в качестве напоминания, чтобы настроить агент соответствующим образом, чтобы избежать сбоев.

    • Если вы выполняете тесты пользовательского интерфейса в головном браузере, конфигурация интерактивного процесса не требуется.

    • Выберите способ подготовки тестовой платформы, а также версию Visual Studio или расположение тестовой платформы, установленной на тестовых компьютерах.

    • Если тесты требуют входных параметров, таких как URL-адреса приложения или строка подключения базы данных, выберите соответствующий файл параметров из артефактов сборки. Задачи "Публикация артефактов сборки" можно использовать в конвейере сборки для публикации файла параметров в расположении удаления, если этот файл не включен в артефакты. В следующем примере URL-адрес приложения предоставляется в файле параметров выполнения и переопределяется, чтобы задать его на промежуточный URL-адрес с помощью параметра параметров тестового выполнения переопределения.

      Снимок экрана: указание свойств для задачи

      Сведения о параметрах задачи "Тест Visual Studio" см . в статье "Тест Visual Studio".

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

    Снимок экрана: указание свойств для задания агента.

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

    Примечание.

    Если вы выполняете тесты пользовательского интерфейса, такие как CodeUI или Selenium в физических браузерах, таких как IE, Firefox или Chrome, агент на компьютерах должен работать в интерактивном режиме, а не в качестве службы. Дополнительные сведения.

  8. На странице конвейера выпуска убедитесь, что конвейер сборки, содержащий тестовые двоичные файлы, ссылки на этот конвейер выпуска в качестве источника артефактов.

    Снимок экрана: проверка артефактов связанной сборки.

  9. Сохраните конвейер выпуска.

  10. Если вы выбрали "Создать новую " в диалоговом окне "Параметры плана тестирования" на шаге 2 этого примера, вернитесь на страницу браузера, содержащую параметры плана тестирования. В диалоговом окне "Параметры плана тестирования" выберите конвейер выпуска и этап, который вы сохранили.

    Снимок экрана: выбор конвейера выпуска и этапа.

Запуск автоматизированных тестов

  1. На веб-портале "Планы тестирования" откройте план тестирования и выберите набор тестов, содержащий автоматические тесты.

  2. Выберите тесты, которые вы хотите запустить, откройте меню "Выполнить ", а затем выберите "Выполнить тест".

    Снимок экрана: выбор теста запуска.

    Двоичные файлы тестов должны быть доступны в артефактах сборки, созданных конвейером сборки.

  3. Нажмите кнопку "ОК ", чтобы запустить процесс тестирования. Система проверяет, что выбраны только автоматические тесты (все тесты вручную игнорируются), проверяет этап, чтобы убедиться, что задача тестирования Visual Studio присутствует и имеет допустимые параметры, проверяет разрешение пользователя на создание выпуска для выбранного конвейера выпуска, создает тестовый запуск, а затем активирует создание выпуска на выбранном этапе.

    Снимок экрана: запуск тестового выполнения.

  4. Выберите "Просмотреть тестовый запуск ", чтобы просмотреть ход выполнения теста и проанализировать неудачные тесты. Результаты теста содержат соответствующие сведения для отладки неудачных тестов, таких как сообщение об ошибке, трассировка стека, журналы консоли и вложения.

  5. После завершения выполнения теста на странице "Запуски " в планах тестирования Azure отображаются результаты теста. На странице "Сводка по запуску" показан обзор выполнения.

    Снимок экрана: сводка по запуску теста.

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

Примечание.

Вложение файлов вручную не поддерживается для результатов автоматического тестирования.

Каковы типичные сценарии ошибок или проблемы, которые я должен искать, если мои тесты не выполняются?

  1. На странице результатов теста перечислены результаты каждого теста в тестовом запуске. Выберите тест, чтобы просмотреть сведения об отладке для неудачных тестов, таких как сообщение об ошибке, трассировка стека, журналы консоли и вложения.

    Снимок экрана: просмотр сведений о результатах теста.

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

    Снимок экрана: просмотр тестового плана.

Вопросы и ответы

Ознакомьтесь со следующими часто задаваемыми вопросами о планах тестирования Azure.

Вопрос. Какие разрешения необходимо выполнить автоматические тесты из планов тестирования Azure?

Ответ. Вы должны быть участником проекта или иметь следующие разрешения:

  • Создание выпусков
  • Управление выпусками
  • Изменение этапа выпуска
  • Управление развертыванием

Дополнительные сведения см. в разделе "Разрешения на выпуск".

Вопрос. Можно ли переопределить набор сборки или этапа на уровне плана тестирования для определенного экземпляра тестового запуска?

Ответ. Да, это можно сделать с помощью команды Run с параметрами . Откройте контекстное меню для набора тестов в левом столбце и выберите "Выполнить с параметрами".

Снимок экрана: настройка диалогового окна

Введите следующие значения в диалоговом окне "Запуск с параметрами" и нажмите кнопку "ОК".

  • Тип теста и средство выполнения: выберите автоматизированные тесты с помощью этапа выпуска.
  • Сборка: выберите сборку, в которую есть тестовые двоичные файлы. Результаты теста связаны с этой сборкой.
  • Конвейер выпуска: выберите конвейер из списка конвейеров выпуска, которые могут использовать выбранный артефакт сборки.
  • Этап выпуска: выберите имя этапа, настроенного в конвейере выпуска.

Снимок экрана: диалоговое окно

Вопрос. Зачем использовать этапы выпуска для выполнения тестов?

Ответ. Azure Pipelines предлагает убедительный рабочий процесс оркестрации для получения тестовых двоичных файлов в качестве артефактов и выполнения тестов. Этот рабочий процесс использует те же понятия, которые используются в рабочем процессе запланированного тестирования, что означает, что пользователи, выполняя тесты в запланированном рабочем процессе, легко адаптироваться; Например, клонирование существующего конвейера запланированного тестирования выпуска.

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

Вопрос. Как выбрать "Тестовый запуск" в задаче тестирования Visual Studio версии 2?

Ответ. Подсистема управления тестами использует объект тестового запуска для передачи списка тестов, выбранных для выполнения. Задача теста ищет идентификатор тестового запуска, извлекает сведения о выполнении теста, такие как имена контейнеров и методов тестирования, выполняет тесты, обновляет результаты тестов и задает точки тестирования, связанные с результатами теста в тестовом запуске. С точки зрения аудита задача Visual Studio предоставляет трассировку от исторических выпусков и идентификаторов тестового запуска к тестам, отправленным для выполнения теста по запросу.

Вопрос. Должен ли агент выполняться в интерактивном режиме или в качестве службы?

Ответ. При выполнении тестов пользовательского интерфейса, таких как закодированные тесты пользовательского интерфейса или Selenium , агент на тестовых компьютерах должен работать в интерактивном режиме с включенным автологом, а не как услуга, чтобы разрешить агенту запускать веб-браузер. Если вы используете головной браузер, например PhantomJS, агент можно запустить как службу или в интерактивном режиме. Дополнительные сведения см. в статье "Сборка и выпуск агентов", развертывание агента в пулах Windows и агентов.

Вопрос. Где можно найти подробную документацию по запуску тестов Selenium?

Ответ. См. статью "Начало работы с тестированием Selenium".

Вопрос. Что произойдет, если выбрать несколько конфигураций для одного теста?

Ответ. В настоящее время рабочий процесс по запросу не учитывает конфигурацию.

Вопрос. Что делать, если нужно скачать двоичные файлы продукта и протестировать двоичные файлы из разных сборок? Или если мне нужно получить артефакты из источника, например Jenkins?

Ответ. Текущая возможность оптимизирована для тестирования отдельной сборки команды по запросу с помощью рабочего процесса Azure Pipelines. Мы оцениваем поддержку выпусков с несколькими артефактами, включая артефакты, отличные от Azure Pipelines, такие как Jenkins, на основе отзывов пользователей.

Вопрос. У меня уже есть конвейер запланированного тестирования выпуска. Можно ли повторно использовать тот же конвейер для выполнения тестирования по запросу или создать новый конвейер?

Ответ. Мы рекомендуем использовать отдельный конвейер выпуска и этап для автоматического тестирования по запросу из планов тестирования Azure, так как:

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

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

  • Может потребоваться настроить задачу тестирования Visual Studio с идентификатором тестового запуска в качестве входных данных, чтобы можно было отслеживать, что активировало выпуск. Дополнительные сведения см. в разделе "Как выбрать "Тестовый запуск (для выполнения по запросу)" в задаче тестирования Visual Studio?.

Вопрос. Можно ли активировать эти запуски и просмотреть результаты в Microsoft Test Manager?

Ответ. Нет. Microsoft Test Manager не поддерживает выполнение автоматических тестов для сборок Team Foundation. Он работает только в веб-интерфейсе для Azure Pipelines. Все новые инвестиции в разработку продуктов вручную и автоматизированного тестирования находятся в веб-интерфейсе. Дальнейшие разработки не планируется для Microsoft Test Manager. См . руководство по использованию Microsoft Test Manager.

Вопрос: У меня несколько тестировщиков в моей команде. Могут ли они выполнять тесты из разных наборов тестов или планов тестирования параллельно с использованием одного конвейера выпуска?

Ответ. Они могут использовать один и тот же конвейер выпуска для параллельного запуска нескольких тестов, если:

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

  • У вас есть достаточно заданий для включения параллельных заданий. Дополнительные сведения см. в разделе параллельных заданий в Azure Pipelines или параллельных заданиях в TFS.

  • Тестировщики не выполняют одни и те же тесты параллельно. Это может привести к перезаписи результатов в зависимости от порядка выполнения.

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

  • Если приложение поддерживает параллельное выполнение тестов из разных источников, задайте этот параметр, чтобы разрешить одновременное развертывание нескольких выпусков.

  • Если приложение не поддерживает тесты, выполняемые параллельно из разных источников, установите этот параметр для разрешения только одного активного развертывания одновременно.

Вопрос. Разделы справки передавать параметры в тестовый код из конвейера сборки или выпуска?

Ответ. Используйте файл runsettings для передачи значений в качестве параметров в тестовый код. Например, в выпуске, содержавшемся на нескольких этапах, можно передать соответствующий URL-адрес приложения для каждой тестовой задачи в каждом из них. Файл запуска и соответствующие параметры должны быть указаны в задаче тестирования Visual Studio.

Снимок экрана: передача параметров для тестирования кода из конвейера сборки или выпуска.

Вопрос. Каковы типичные сценарии ошибок или проблемы, которые я должен искать, если мои тесты не выполняются?

Ответ. Проверьте и устраните проблемы следующим образом:

  • Конвейер выпуска и этап, в котором я хочу выполнить тесты, не отображаются после выбора сборки.

    • Убедитесь, что конвейер сборки, создающий сборку, связан как основной артефакт на вкладке "Артефакты" конвейера выпуска.

  • Я получаю сообщение об ошибке, что у меня нет достаточного разрешения для активации выпуска.

    • Настройте разрешения на создание выпусков и управление развертываниями для пользователя в меню "Безопасность " конвейера выпуска. Ознакомьтесь с разрешениями на выпуск.

  • Я получаю сообщение об ошибке, что автоматические тесты не найдены.

    • Проверьте состояние автоматизации выбранных тестов. Сделайте это в рабочем элементе для тестового случая или используйте ссылку "Параметры столбца" в планах тестирования Azure, чтобы добавить столбец состояния службы автоматизации в список тестов. Дополнительные сведения см. в разделе предварительных требований.
  • Мои тесты не выполнялись, и я подозреваю, что конвейер выпуска неверный.

    • Используйте ссылку на странице сводки запуска , чтобы получить доступ к экземпляру выпуска, используемому для выполнения тестов, и просмотреть журналы выпуска.

  • Мои тесты переходят в состояние ошибки или остаются "запущенными" даже после запуска на стадии.

    • Проверьте, выбрана ли выбранная стадия выпуска правильная задача и версия. Необходимо использовать версию 2 или более позднюю задачу Visual Studio Test . Версия 1 задачи и задача запуска функциональных тестов не поддерживаются.