Копирование или клонирование планов тестирования, наборов тестов и тестовых вариантов

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

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

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

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

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

Дополнительные сведения см. в разделе "Обзор тестовых объектов и терминов".

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

У вас должны быть следующие разрешения и уровни доступа:

  • Базовый доступ или более высокий уровень и разрешения для просмотра рабочих элементов в соответствующем пути области. Дополнительные сведения см. в разделе "Добавление пользователей в проект или команду".
  • Уровень доступа "Базовые и тестовые планы " для добавления тестов и наборов тестов, удаления артефактов теста и определения конфигураций тестов. Кроме того, у вас есть одна из следующих подписок Visual Studio:
  • Для добавления или изменения артефактов, связанных с тестом, необходимо иметь следующие разрешения:
    • Измените рабочие элементы в этом наборе разрешений узла , чтобы разрешить в соответствующем пути области, добавить или изменить планы тестирования, наборы тестов, тестовые варианты или другие типы рабочих элементов на основе тестов.
    • Управление набором разрешений для планов тестирования для разрешения в соответствии с соответствующим путем области для изменения свойств плана тестирования, таких как параметры сборки и тестирования.
    • Управление набором разрешений наборов тестов для разрешения в соответствующем пути области для создания и удаления наборов тестов, добавления и удаления тестовых вариантов из наборов тестов, изменения конфигураций тестов, связанных с наборами тестов, и изменения иерархии наборов тестов (перемещение набора тестов).

Дополнительные сведения см. в разделе "Тестовый доступ и разрешения вручную".

Работа с средством командной строки TCM

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

  • Установлен Visual Studio 2017 Professional или более ранняя версия. Доступ к TCM можно получить из командной строки и следующих каталогов:

    • %programfiles(x86)%\Microsoft Visual Studio\2017\Professional\Common7\IDE
    • %programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE
    • %programfiles(x86)%\Microsoft Visual Studio 14.0\Common7\IDE
  • Чтобы выполнить команду TCM, укажите /collection и /teamproject параметры, а /login также при необходимости.

    Параметр Описание
    /Коллекции:CollectionURL Обязательный. Задает универсальный код ресурса (URI) коллекции проектов группы. Формат универсального кода ресурса (URI) выглядит следующим образом:
    — Для Azure DevOps Services: http://dev.azure.com/OrganizationName
    — Для Azure DevOps Server: http://ServerName:Port/VirtualDirectoryName/CollectionName. Если виртуальный каталог не используется, формат URI выглядит следующим образом:http://ServerName:Port/CollectionName
    /teamproject:project Обязательный. Имя проекта, содержащего тестовые объекты, в которые требуется клонировать или импортировать автоматические тесты.
    /login:username,[password] Необязательно. Указывает имя и пароль допустимого пользователя Azure DevOps и разрешения на выполнение команды. Используйте этот параметр, если учетные данные Windows не имеют соответствующих разрешений или вы используете обычную проверку подлинности или не подключены к домену.
  • Вы должны быть допустимым членом одного или нескольких проектов, к которым вы хотите получить доступ, и иметь необходимые разрешения на основе выполняемых команд. Дополнительные сведения см. в разделе "Тестовый доступ и разрешения вручную".

  • Для клонирования или импорта объектов тестирования необходимо иметь одинаковые уровни доступа, необходимые для добавления планов тестирования и наборов тестов.

Поддерживаемые средства копирования, клонирования и импорта

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

Клиент или инструмент

Тестовые планы

Тестовые наборы

Тестовые случаи


Веб-портал (Сетка)

Веб-портал (Сетка)

Форма рабочего элемента

Microsoft Test Manager1
(не рекомендуется)

Интерфейс командной строкиTCM 2

✔️ Клон

✔️ Клон

REST API3

✔️ Клон

✔️ Клон

Примечание.

  1. В выпуске Azure DevOps Server 2020 веб-портал для планов тестирования Azure был значительно обновлен. Добавлены многие новые функции для поддержки копирования, клонирования, импорта и экспорта. Общие сведения см. в разделе "Навигация по планам тестирования".
  2. Средство командной строки для управления тестами (TCM) устанавливается при установке Visual Studio 2017 или более ранних версий. Примеры, приведенные в этой статье, отражают параметры, доступные в версии Visual Studio 2017. Более ранние версии могут поддерживать меньше вариантов. Дополнительные сведения см. в статье "Работа с средством командной строки TCM".
  3. Команды REST API для поддержки клонирования планов тестирования и наборов тестов были добавлены с версией 5.0, соответствующей Azure DevOps 2019.
  1. Microsoft Test Manager (MTM) не рекомендуется использовать с Azure DevOps Services в январе 2020 г. и не поддерживается для Azure DevOps Server 2020 и более поздних версий. Текущая версия планов тестирования Azure поддерживает все функции, поддерживаемые MTM и многое другое.
  2. Средство командной строки "Управление тестами" (TCM) устанавливается при установке Visual Studio 2017 или более ранних версий. Примеры, приведенные в этой статье, отражают параметры, доступные в версии Visual Studio 2017. Более ранние версии могут поддерживать меньше вариантов. Дополнительные сведения см. в статье "Работа с средством командной строки TCM".

Вывод списка планов тестирования или наборов тестов

При выполнении копирования, клонирования или импорта операций, связанных с планами тестирования или наборами тестов, необходимо иметь доступ к уникальному идентификатору. Этот идентификатор позволяет точно определить конкретный план или набор, с которым вы хотите работать. Зная назначенный идентификатор, вы можете оптимизировать процессы тестирования и обеспечить точную реплика цию или передачу тестовых данных.

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

  1. Выберите "Запросы Доски">из проекта.
  2. Введите параметр Work Item Type=Test Plan в редакторе запросов. Вы можете перечислить все тестовые планы, определенные для командного проекта.
  3. Введите проверка в запросе между проектами проверка box. В запросе перечислены все планы тестирования, определенные для всех проектов. Дополнительные сведения см. в разделе "Определение запроса рабочего элемента".
  4. Выполните запрос.

Совет

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

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

Копирование или клонирование планов тестирования

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

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

Концептуальный образ, клонированный тестовый план.

  1. Выберите планы> тестирования в проекте.

  2. Выберите план тестирования, который вы хотите скопировать на странице "Шахта " или "Все ".

  3. Выберите "Дополнительные действия>" Копировать тестовый план. Этот параметр позволяет копировать или клонировать тестовые планы в проекте.

    Снимок экрана: меню

  4. Укажите имя нового тестового плана и выберите путь к области и путь итерации для плана.

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

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

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

    Дополнительные сведения см. в разделе "Сведения о области" и путях итерации (спринта).

    Страница обновляется, чтобы отобразить только что скопированный тестовый план.

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

  5. Обновите все наборы на основе запросов, скопированные для использования новой области и путей итерации.

  6. Укажите сборку в целевом тестовом плане, если вы клонировали автоматические тестовые случаи.

Примечание.

Эта функция не поддерживается через веб-портал для Azure DevOps Server 2019 и более ранних версий. Для копирования планов тестирования требуется Azure DevOps Server 2020 или более поздней версии.

Импорт или клонирование наборов тестов

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

Концептуальное изображение, наборы тестов копирования.

Примечание.

  • При импорте (Web) или клонировании (TCM) набор тестов в новый проект новый набор содержит копии всех тестовых вариантов в исходном наборе. Однако он не сохраняет исторические данные, такие как предыдущие тестовые запуски, связанные ошибки, старые результаты.
  • Общие шаги, на которые ссылаются тестовые случаи, также клонируются и создаются в целевом проекте.
  • Вы не можете клонировать тестовые случаи из одного и того же плана тестирования, даже в другой набор. Для этого необходимо сначала переместить тестовые случаи в другой временный тестовый план. Затем используйте временный тестовый план в качестве исходного плана и клонируйте тестовые случаи обратно в исходный тестовый план, поместив идентификатор в место целевого тестового плана. Общие шаги, представленные в тестовых случаях, также дублируются в этом процессе.

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

Вы можете использовать tcm suites /list для перечисления всех наборов тестов, определенных для проекта.

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

  1. Выберите планы> тестирования тестов.

  2. Выберите план тестирования, в котором вы хотите импортировать набор тестов на странице "Шахта " или "Все ".

  3. Выберите "Дополнительные действия>" Копировать тестовый план. Этот параметр позволяет копировать или клонировать тестовые планы в проекте.

    Снимок экрана: меню

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

  5. Создайте импорт. В одно время можно импортировать только один набор из тестового плана.

    Снимок экрана: импорт наборов из диалогового окна

    Отображается следующее сообщение:

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

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

    Снимок экрана: сообщение

    Затем отображается только что добавленный набор тестов.

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

Примечание.

Эта функция не поддерживается через веб-портал для Azure DevOps Server 2019 и более ранних версий. Для импорта наборов тестов требуется azure DevOps Server 2020 или более поздняя версия.

Копирование тестового случая

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

Совет

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

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

  1. Выберите планы> тестирования тестов.

  2. Выберите план тестирования, содержащий один или несколько тестовых вариантов, которые нужно скопировать на странице "Шахта " или "Все ".

  3. Выберите набор test Suite, содержащий один или несколько тестовых вариантов, которые требуется скопировать.

  4. На странице "Определение" выберите поле проверка для всех тестовых случаев, которые требуется скопировать.

  5. Выберите дополнительные действия>, чтобы скопировать тестовый случай.

    Снимок экрана: меню

  6. Выберите проект в раскрывающемся меню, а затем введите имя плана тестирования или идентификатор и имя набора тестов. Вы также можете выбрать имя или идентификатор в раскрывающихся меню.

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

  7. (Необязательно) Выберите поля проверка для включения существующих ссылок и включения существующих вложений.

  8. Создайте копию.

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

Копирование и вставка тестового случая (представление сетки)

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

Совет

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

В браузерах Интернета Обозреватель, Microsoft Edge или Chrome можно скопировать тестовые варианты из представления Сетки для одного тестового плана и набора тестов в другой тестовый план и набор тестов.

  1. На >странице планов тестирования выберите набор тестов, содержащий один или несколько тестовых вариантов, которые требуется скопировать. На вкладке "Определение" выберите представление сетки.

  2. Выделите строки, которые нужно скопировать, а затем введите CTRL+C.

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

  3. Выберите другой набор тестов из одного или другого плана и вставьте сочетание клавиш CTRL+V. Если вы не выбираете другой набор, ничего не происходит при вставлении, так как каждый набор может иметь только одну ссылку на любой тестовый случай.

  4. Выберите "Сохранить тестовые случаи".

    Новые тестовые случаи сохраняются с новыми идентификаторами.

    Снимок экрана: сохраненные тестовые случаи, вставленные в представление Сетки.

Массовый импорт или экспорт тестовых вариантов

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

Экспорт тестовых вариантов

  1. На странице "Тестовые планы> тестов" выберите план тестирования с набором тестов, содержащим тестовые случаи, которые требуется экспортировать.

  2. Необязательно. Выберите параметры столбца, чтобы добавить поля для включения в файл скачивания.

  3. Чтобы экспортировать все тестовые случаи для набора тестов, выберите "Экспорт тестовых случаев в CSV".

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

    Чтобы экспортировать подмножество тестовых вариантов для набора тестов, выберите тестовые варианты для экспорта, выберите дополнительные параметры и выберите "Экспорт тестовых вариантов" в CSV.

    Снимок экрана: выбранные тестовые случаи, экспорт тестовых вариантов в CSV.

  4. Экспортируемый CSV-файл отображается в папке "Загрузки ".

Импорт тестовых вариантов

  1. В планах тестирования планов> тестирования выберите план тестирования с набором тестов, в который требуется импортировать тестовые случаи.

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

  2. Выберите файл для импорта из открытого диалогового окна, а затем нажмите кнопку "Импорт".

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

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

Импорт автоматических тестовых случаев (TCM)

Чтобы импортировать автоматизированные тестовые варианты в набор тестов, используйте tcm testcase /import. Необходимо указать файл .dll для тестовой сборки, содержащей тесты.

tcm testcase /import /collection:teamprojectcollectionurl /teamproject:project
             /storage:path
             [/maxpriority:priority]
             [/minpriority:priority]
             [/category:filter]
             [/syncsuite:id [/include]]
             [/login:username,[password]]
Параметр Описание
/storage:path Указывает путь и имя тестовой сборки, содержащей автоматические тесты, которые необходимо импортировать.
/maxpriority:priority Необязательно. Указывает, какие тесты следует импортировать на основе максимального приоритета метода теста. Например, если параметр имеет значение /maxpriority:1, то из сборки импортируются только тесты с атрибутом приоритета для метода теста меньше или равно 1.
/minpriority:priority Необязательно. Указывает, какие тесты следует импортировать на основе минимального приоритета метода теста. Например, если параметр имеет значение /minpriority:2, то из сборки импортируются только тесты с атрибутом приоритета для метода теста, равным или больше 2.
/category:filter Необязательно. Указывает, какие тесты следует импортировать на основе категории каждого метода теста в сборке тестирования. Этот параметр можно использовать вместе с /syncsuite импортом тестов с определенной категорией в определенный набор тестов.
Дополнительные сведения о категориях тестов см. в разделе "Запуск модульных тестов" с помощью тестов Обозреватель.
/syncsuite:id Необязательно. Указывает идентификатор набора для набора тестов в плане тестирования, в который необходимо добавить импортируемые тестовые случаи. Этот набор не может быть динамическим набором или набором на основе запросов. Если вы указываете набор тестов для синхронизации с обновлением добавленных тестов, тесты, которые не импортируются, удаляются из набора тестов, но не из самого плана тестирования.

Описание /collection/teamproject параметров и /login параметров см. в статье "Работа с помощью средства командной строки TCM".

Ограничения

  • Столбец состояния тестового случая должен находиться в состоянии конструктора .
  • Длина заголовка тестового регистра не должна превышать 128 символов.
  • Существует ограничение в 20 МБ для объектов JSON, созданных во время импорта и экспорта. Если импорт завершается ошибкой, попробуйте выполнить операцию с небольшим подмножеством тестовых вариантов.
  • Пользователь, выполняющий импорт, должен иметь разрешения на область и пути итерации для тестового плана и набора тестов, которые они планируют импортировать или экспортировать.
  • Операции копирования и импорта завершаются ошибкой, если связанное число ссылок превышает 1000 для тестового случая.

Интерфейсы REST API

Вы можете копировать и клонировать тестовые планы и наборы тестов с помощью следующих ИНТЕРФЕЙСов REST API.

Следующие шаги