Использование Azure Test Plans вместо Lab Management для автоматического тестирования

Если вы используете Microsoft Test Manager и Lab Management для автоматического тестирования или для автоматизации процесса сборки, развертывания и тестирования, в этом разделе вы узнаете, как достичь тех же целей с помощью функций сборок и выпусков в Azure Pipelines и Team Foundation Server (TFS).

Примечание

Инструмент Microsoft Test Manager сделан нерекомендуемым в Visual Studio 2017 и удален в Visual Studio 2019.

Автоматизация процесса сборки, развертывания и тестирования

Microsoft Test Manager и Lab Management используют определение сборки XAML, чтобы автоматизировать сборку, развертывание и тестирование приложений. Для достижения этой цели сборка XAML использует различные конструкции, созданные в Microsoft Test Manager, такие как лабораторная среда, наборы тестов и параметры тестирования, а также на различные компоненты инфраструктуры, такие как контроллер сборки, агенты сборки, контроллер тестирования и агенты тестирования. Выполнить аналогичные задачи с меньшими усилиями можно с помощью Azure Pipelines или TFS.

Шаги С использованием сборки XAML В сборке или выпуске
Определите компьютеры, где требуется развернуть сборку и выполнить тесты. Создайте в Microsoft Test Manager стандартную лабораторную среду с этими компьютерами. Н/Д
Определите, какие тесты требуется выполнить. Создайте набор тестов в Microsoft Test Manager, тестовые случаи, а также сопоставьте функции автоматизации с каждым тестовым случаем. Создайте параметры тестирования в Microsoft Test Manager, определив роль компьютеров в лабораторной среде, где требуется выполнить тесты. Аналогичным образом создайте набор автоматических тестов в Microsoft Test Manager, если планируете управлять тестированием с помощью планов тестирования. Этот этап можно пропустить, если вы хотите выполнять тесты напрямую из двоичных файлов теста, созданных вашими сборками. В любом случае создавать параметры тестирования не требуется.
Автоматизируйте развертывание и тестирование. Создайте определение сборки XAML с помощью LabDefaultTemplate.*.xaml. Укажите сборку, наборы тестов и лабораторную среду в определении сборки. Создайте конвейер сборки или выпуска в одном окружении. Запустите тот же скрипт развертывания (из определения сборки XAML) с помощью задачи командной строки и выполните автоматические тесты с помощью задач "Развертывание агента тестирования" и "Запуск функциональных тестов". Укажите список компьютеров и их учетных данных в качестве входных данных для таких задач.

Ниже приведены некоторые преимущества использования Azure Pipelines или TFS для этого сценария.

  • Вам не требуется контроллер сборки или контроллер тестирования.
  • Агент тестирования устанавливается с помощью задачи в рамках сборки или выпуска.
  • Можно легко настроить этапы развертывания. Вы больше не ограничены одним скриптом. Кроме того, можно использовать множество задач, доступных как в продукте, так и в Visual Studio Marketplace.
  • Не требуется обслуживать наборы тестов. Вы можете выполнять тесты напрямую из двоичных файлов.
  • Вам доступен расширенный интерфейс отчетов для тестов, выполнявшихся в рамках каждой сборки или каждого выпуска.
  • Вы можете отслеживать, какие активы (выпуск, сборка, рабочие элементы, фиксации) сейчас развернуты и протестированы в каждом окружении.
  • Вы можете настроить и расширить автоматизацию, чтобы упростить развертывание в нескольких тестовых окружениях и даже в рабочей среде.
  • Вы можете запланировать автоматизацию при совершении возврата или фиксации, а также на определенное время дня.

Самостоятельное управление окружениями SCVMM

Центр тестирования в Microsoft Test Manager позволяет управлять библиотекой шаблонов среды, а также подготавливать окружения по запросу с помощью сервера SCVMM.

Функции самостоятельной подготовки центра лабораторий преследуют две отдельные цели:

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

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

Однако на фоне развития систем управления общедоступными и частными облаками, такими как Microsoft Azure и Microsoft Azure Stack, развитие средств управления инфраструктурой в TFS 2017 и более поздних версий не наблюдается. Вместо этого продолжает упрощаться использование ресурсов, управляемых с помощью таких облачных инфраструктур.

В следующей таблице перечислены типичные действия, которые выполняются в центре лабораторий, и пояснено, как их можно выполнить с помощью SCVMM или Azure (если они касаются управления инфраструктурой) или с помощью TFS и Azure DevOps Services (если они касаются тестирования или развертывания):

Шаги С использованием центра лабораторий В сборке или выпуске
Управляйте библиотекой шаблонов среды. Создайте лабораторную среду. Установите необходимое программное обеспечение на виртуальных машинах. Обработайте окружение с помощью Sysprep и сохраните его как шаблон в библиотеке. Воспользуйтесь напрямую консолью администрирования SCVMM, чтобы создать шаблоны виртуальных машин или служб и управлять ими. При использовании Azure выберите один из шаблонов быстрого запуска Azure.
Создайте лабораторную среду. Выберите шаблон среды в библиотеке и разверните его. Укажите нужные параметры, чтобы настроить конфигурации виртуальных машин. Воспользуйтесь напрямую консолью администрирования SCVMM, чтобы создать экземпляры виртуальных машин или служб из шаблонов. Воспользуйтесь напрямую порталом Azure, чтобы создать ресурсы. Либо создайте определение выпуска с окружением. Используйте задачи Azure или задачи из расширения интеграции SCVMM для создания новых виртуальных машин. Создание нового выпуска этого определения эквивалентно созданию нового окружения в центре лабораторий.
Подключитесь к компьютерам. Откройте лабораторную среду в средстве просмотра окружения. Воспользуйтесь напрямую консолью администрирования SCVMM, чтобы подключиться к виртуальным машинам. Кроме того, можно использовать IP-адрес или DNS-имена виртуальных машин, чтобы открыть сеансы удаленного рабочего стола.
Создайте контрольную точку окружения или восстановите окружение до чистой контрольной точки. Откройте лабораторную среду в средстве просмотра окружения. Выберите параметр для создания новой или восстановления предыдущей контрольной точки. Воспользуйтесь напрямую консолью администрирования SCVMM, чтобы выполнить эти операции на виртуальных машинах. Либо, чтобы выполнить эти действия в рамках более обширной процедуры автоматизации, включите задачи контрольной точки из расширения интеграции SCVMM в составе окружения в определении выпуска.

Создание изолированных сетевых сред

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

Однако Azure Pipelines и TFS вместе с задачей сборки и развертывания SCVMM можно использовать для управления средами SCVMM, подготовки изолированных виртуальных сетей и реализации сценариев "сборка — развертывание — тестирование". Например, эту задачу можно использовать в следующих целях:

  • Создание, восстановление и удаление контрольных точек
  • Создание виртуальных машин с использованием шаблона
  • Запуск и остановка виртуальных машин
  • Запуск настраиваемых скриптов PowerShell для SCVMM

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