Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Поля рабочих элементов, поддерживающие сборку и тестирование интеграции, предлагают мощные функциональные возможности для улучшения рабочего процесса разработки. Эти интеграции позволяют выполнять следующие ключевые действия:
- Связывание ошибок со сборками: Связывание ошибок непосредственно с конкретными сборками, в которых они были обнаружены или устранены, обеспечивая точное отслеживание и подотчетность.
- Запрос ошибок по сборке: Получение и анализ ошибок, связанных с конкретными сборками для выявления тенденций и областей, требующих улучшения.
- Пометить тестовые случаи как вручную или автоматизированные: Классифицируйте тестовые случаи соответствующим образом и храните соответствующие сведения для поддержки автоматизированных процессов тестирования.
- Определите действия и шаги проверки для тестовых вариантов и общих шагов: Укажите действия для выполнения, критерии проверки и данные, необходимые для эффективного выполнения тестов.
В этой статье приводятся рекомендации по использованию интеграции сборки и тестирования для повышения качества и эффективности проекта.
Предпосылки
-
Разрешения на уровне проекта:
- Участники: могут создавать и изменять запросы.
- Читатели: могут просматривать запросы, но не могут создавать или изменять их.
- Администраторы проекта: полный контроль над всеми параметрами проекта, включая запросы.
- Определенные разрешения для артефактов тестирования:
- Управление планами тестирования. Позволяет создавать, редактировать и удалять планы тестирования.
- Управление наборами тестов: позволяет создавать, редактировать и удалять наборы тестов.
- Изменение рабочих элементов на этом узле: требуется для добавления или редактирования рабочих элементов, таких как тестовые варианты и наборы тестов.
Поддерживаемые операторы и макросы
Большинство полей интеграции сборки и тестирования имеют тип данных String, PlainText или HTML. Предложения запросов, задающие текстовое или поле форматированного текста, могут использовать операторы и макросы, перечисленные в следующей таблице.
Тип данных
Поддерживаемые операторы и макросы
Форматированный текст (HTML) и
Многострочные текстовые строки (PlainText)
Contains Words
, Does Not Contain Words
, Is Empty
, Is Not Empty
.
Один текст (строка)
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field]
, Contains
, Does Not Contain
, In
, Not In
, In Group
, Not In Group
, Was Ever
Макросы: [Any]
который применим к полю Тип рабочего элемента; и @Project
который применим к полю Командный проект. Система по умолчанию автоматически применяет фильтрацию на основе текущего проекта. Дополнительные сведения см. в разделе Запросы между проектами.
Полезные фильтры
Фильтр для
Включить эти условия запроса
Автоматизированные тестовые случаи
Work Item Type = Test Case
And Automation Status = Automated
Наборы тестов на основе запросов
Work Item Type = Test Suite
And Test Suite Type = Query Based
Наборы тестов на основе требований
Work Item Type = Test Suite
And Test Suite Type = Requirement Based
Список ошибок и тестовых случаев, которые их проверяют
Откройте новый запрос, установите тип запроса на рабочие элементы и прямые ссылки. Фильтрация ошибок на верхнем уровне и добавление фильтра для тестовых случаев в фильтр связанных рабочих элементов.
Примечание.
Невозможно создать запрос, показывающий иерархическое представление планов тестирования, наборов тестов и тестовых вариантов. Эти элементы не связаны между собой с помощью типов родительско-дочерних ссылок. Иерархию можно просмотреть на странице "Тестовые>планы тестирования".
Создание и проверка полей данных
В следующей таблице описываются поля, определенные в одном или нескольких типах тестовых рабочих элементов. Сведения о типах данных и атрибутах полей см. в полях и атрибутах рабочих элементов.
Сведения о настройке поля или списка выбора см. в разделе "Добавление или изменение поля" для поддержки запросов, отчетов и рабочего процесса.
Имя поля
Описание
Тип рабочего элемента
Состояние автоматизации 1
Состояние тестового случая. Можно указать следующие значения:
- автоматизированные
- Не автоматизировано
-
Запланировано
Сведения о выполнении автоматических тестов см. в разделе "Запуск автоматических тестов" из планов тестирования.
Эталонное имя=Microsoft.VSTS.TCM.AutomationStatus, тип данных=String
Тестовый случай
Найдено в 2
Номер сборки продукта, также известный как редакция, в которой обнаружена ошибка.
Эталонное имя=Microsoft.VSTS.Build.FoundIn, тип данных=String
Примечание.
Вы также можете использовать тип ссылки "Найдено в сборке ", чтобы связать рабочий элемент со сборкой. Этот тип ссылки доступен в Azure DevOps и работает только с текущими процессами сборки (а не сборками XAML).
Ошибка
Сборка интеграции 2
Номер сборки продукта, который включает код или исправляет ошибку.
Эталонное имя=Microsoft.VSTS.Build.IntegrationBuild, тип данных=String
Примечание.
Можно также использовать тип ссылки Интегрировано в сборке для связывания рабочего элемента со сборкой. Этот тип ссылки доступен в Azure DevOps и работает только с текущими процессами сборки (а не сборками XAML).
Все
Проблема
Указывает, что общие шаги связаны с ожидаемым результатом. Допустимые значения: "Да " и "Нет". Эталонное имя=Microsoft.VSTS.Common.Issue, тип данных=String
Общие шаги
Параметры
Содержит параметры, используемые при выполнении ручного теста.
Microsoft.VSTS.TCM.Parameters, тип данных=HTML
Общие параметры, общие шаги, тестовый случай
Этапы
Действия и шаги проверки, необходимые для выполнения теста. Microsoft.VSTS.TCM.Steps, тип данных=HTML
Общие шаги, тестовый случай
Сведения о системе
Сведения о конфигурации программного обеспечения и системы, относящуюся к тесту.
Microsoft.VSTS.TCM.SystemInfo, тип данных=HTML
Ошибка, ответ на отзывы
Шаги повторного воспроизведения (или шаги для воспроизведения)
Действия, необходимые для воспроизведения неожиданного поведения. Собрать достаточно информации, чтобы другие члены команды могли понять полное влияние проблемы и исправили ли они ошибку. Это включает в себя действия, выполняемые для поиска или воспроизведения ошибки, и ожидаемое поведение. Эталонное имя=Microsoft.VSTS.TCM.ReproSteps, тип данных=HTML
Ошибка
Тип 1 набора тестов
Категория набора тестов. Допустимые значения:
- На основе запросов. Используйте для объединения тестовых случаев с определенной характеристикой, например все тесты с приоритетом=1. Набор автоматически включает каждый тестовый случай, возвращаемый заданным запросом.
- На основе требований: Используйте для группирования тестовых случаев, предназначенных для отслеживания статуса элементов невыполненной работы. Каждый тестовый случай, добавляемый в набор тестов на основе требований, автоматически связан с элементом невыполненной работы.
-
Статический: используйте для группировки тестовых вариантов с любыми характеристиками или наборами тестов.
Дополнительные сведения см. в разделе "Создание тестового плана".
Эталонное имя=Microsoft.VSTS.TCM.TestSuiteType, тип данных=String
Набор тестов
Примечание.
- Не настраивайте список выбора для этих полей. Система принимает только указанные значения.
- Добавив элемент
GLOBALLIST
в определениеFIELD
, вы можете предоставить раскрывающееся меню сборок, которые пользователи могут выбрать. Дополнительные сведения см. в разделе Сборки и автозаполнения глобального списка в дальнейшем тексте статьи.
Другие поля
Следующие поля не отображаются в формах рабочих элементов, но эти поля отслеживаются для тестовых случаев или наборов тестов. Некоторые из этих полей можно использовать для фильтрации запросов и создания отчетов. (Ни одно из этих полей не добавляется в хранилище данных и не индексируется.)
Имя поля
Описание
Тип рабочего элемента
Автоматическое хранилище тестов
Сборка, содержащая тест, который автоматизирует тестовый случай.
Эталонное имя=Microsoft.VSTS.TCM.AutomatedTestStorage, тип данных=String
Тестовый случай
Автоматический тип теста
Тип теста, который автоматизирует тестовый случай.
Эталонное имя=Microsoft.VSTS.TCM.AutomatedTestType, тип данных=String
Тестовый случай
AutoTestId
Идентификатор теста, который автоматизирует тестовый случай.
Эталонное имя=Microsoft.VSTS.TCM.AutomatedTestId, тип данных=String
Тестовый случай
ИмяАвтоматизированногоТеста
Имя теста, используемого для автоматизации тестового случая.
Эталонное имя=Microsoft.VSTS.TCM.AutomatedTestName, тип данных=String
Тестовый случай
LocalDataSource (локальный источник данных)
Локальный источник данных, поддерживающий тест.
Эталонное имя=Microsoft.VSTS.TCM.LocalDataSource, тип данных=HTML
Тестовый случай
Текст запроса
Поле, используемое для захвата запроса, определенного для типа пакета на основе запросов.
Эталонное имя=Microsoft.VSTS.TCM.QueryText, тип данных=PlainText
Набор тестов
Аудит набора тестов
Отслеживает другие операции при изменении набора тестов, например добавление тестов в набор тестов или изменение конфигураций. Это поле можно просмотреть на вкладке "Журнал" или с помощью отдельного запроса. Существует объединенное представление журнала, в том числе изменения, внесенные в поле рабочих элементов, и изменения, связанные с артефактами, такими как точки тестирования и конфигурации.
Эталонное имя=Microsoft.VSTS.TCM.TestSuiteAudit, тип данных=PlainText
Набор тестов
Тип набора тестов 1
Назначенное системой значение, соответствующее категории набора тестов и применимое только к наборам тестов. Назначенные значения:
1 (статический)
2 (на основе запросов)
3 (на основе требований)
Эталонное имя=Microsoft.VSTS.TCM.TestSuiteTypeId, тип данных=целое число
Набор тестов
Примечание.
- Не настраивайте список выбора для этих полей. Система принимает только указанные значения.
Поля, которые интегрируются с Team Foundation Build
Team Foundation Build — это локальная система сборки, которая можно использовать с Azure DevOps Server. Процесс сборки можно настроить с помощью Team Foundation Build, а Team Foundation Build может создавать рабочие элементы при сбое сборки. Он также может добавлять информацию о сборке в рабочие элементы, которые были урегулированы в определённой сборке. Team Foundation Build требует, чтобы следующие два поля были добавлены в определение типа рабочего элемента: Найдено в и Интеграционная сборка.
Поля "Найдено в" и "Интегрировано в сборке" определены для ошибок в процессах по умолчанию. Эти поля связывают ошибки со сборками, в которых они были найдены или исправлены.
С помощью следующего фрагмента кода можно добавить эти поля в определение WIT.
<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
<HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
</FIELD>
<FIELD name="Integration Build" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
<HELPTEXT>Product build number this bug was fixed in</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
</FIELD>
Если поле Found In присутствует в определении WIT, Team Foundation Build создает рабочий элемент при сбое сборки и задает поле Found In номер сборки, который завершился сбоем. Если поле "Найдено в " отсутствует, Team Foundation Build не создает рабочий элемент для неудачной сборки, и все остальное работает должным образом.
Если поле сборки интеграции присутствует в определении WIT, Team Foundation Build определяет рабочие элементы, которые были разрешены при каждой сборке, а затем обновляет эти рабочие элементы, чтобы задать номер сборки, в котором они были разрешены в поле сборки интеграции . Если поле Integration Build отсутствует, Team Foundation Build не сохраняет номер сборки в рабочих элементах, а все остальное работает так, как ожидалось.
Сборки и автозаполнение глобального списка
При первой постановке сборки в очередь для проекта с помощью Team Foundation Build автоматически добавляется глобальный список с меткой Build — ProjectName. При каждом запуске сборки в этот глобальный список добавляется LISTITEM с именем сборки.
Добавив элемент GLOBALLIST в определение FIELD , можно предоставить раскрывающееся меню сборок, которые пользователи могут выбрать. Рассмотрим пример.
<FIELD name="Found In" refname="Microsoft.VSTS.Build.FoundIn" type="String" reportable="dimension">
<HELPTEXT>Product build number (revision) in which this item was found</HELPTEXT>
<SUGGESTEDVALUES>
<LISTITEM value="<None>" />
</SUGGESTEDVALUES>
<SUGGESTEDVALUES expanditems="true" filteritems="excludegroups">
<GLOBALLIST name="Builds - TeamProjectName" />
</SUGGESTEDVALUES>
</FIELD>
Поля, которые интегрируются с планами тестирования
С помощью тестовых планов можно автоматизировать создание ошибки или другого типа рабочего элемента при сбое теста. Дополнительные сведения см. в статье Добавление результатов к существующим ошибкам с использованием исследовательского тестирования.
При создании рабочего элемента таким образом сведения о системе и шагах по воспроизведению ошибки будут записаны в полях "Сведения о системе" и "Шаги повторного выполнения ".
Эти поля можно добавить в типы рабочих элементов, создаваемые для отслеживания дефектов, с помощью следующего фрагмента кода.
<FIELD name="System Info" refname="Microsoft.VSTS.TCM.SystemInfo" type="HTML" />
<FIELD name="Repro Steps" refname="Microsoft.VSTS.TCM.ReproSteps" type="HTML" />
Поля, которые интегрируются с Team Foundation Version Control
Связывание и разрешение рабочих элементов с TFVC
Team Foundation Version Control (TFVC) предлагает функцию, которая позволяет связывать или разрешать рабочие элементы непосредственно во время проверки кода. При работе с конкретным рабочим элементом и внесении соответствующих изменений в код, вы можете связать этот рабочий элемент из окна фиксации изменений в системе управления версиями по завершении выполнения изменений.
Как TFVC обрабатывает рабочие задачи
Способность TFVC решать рабочий элемент зависит от наличия определенного действия в рабочем элементе. Вот как работает процесс:
- Проверка действия: Система управления версиями запрашивает систему отслеживания рабочих элементов, чтобы определить, поддерживает ли рабочий элемент требуемое действие.
- Переход состояния: Если действие поддерживается, TFVC извлекает состояния источника и назначения, связанные с переходом.
- Обновление рабочего элемента: После проверки кода TFVC перемещает состояние рабочего элемента в соответствии с предопределенным переходом.
Эта интеграция гарантирует, что рабочие элементы точно отражают состояние связанных изменений кода, повышая возможность трассировки и подотчетность в рабочем процессе разработки.
Примечание.
При использовании действия Checkin необходимо задать соответствующие состояния от и до, чтобы отразить переход в нужное состояние.
Дополнительные сведения см. в разделе "Автоматизация назначений полей" на основе состояния, перехода или причины.
Ограничения
При запросе по тестовой ситуации существуют следующие ограничения:
- Иерархические представления: невозможно создать запрос, показывающий иерархическое представление планов тестирования, наборов тестов и тестовых вариантов. Эти элементы не связаны между собой с помощью типов связей родитель-ребёнок.
- Наборы тестов на основе запросов. Хотя вы можете создавать наборы тестов на основе запросов, набор автоматически включает все тестовые случаи, возвращаемые заданным запросом, что иногда может привести к включению непреднамеренных тестовых случаев, если запрос не является точным.
- Ограничения полей: некоторые поля, связанные с тестовыми случаями, такие как подробные результаты выполнения, могут потребовать творческого использования существующих полей или настройки данных для их полного использования.
- Ограничения производительности и скорости. Azure DevOps накладывает ограничения на использование ресурсов и количество запросов, которые они могут сделать. Неоптимизированные запросы или чрезмерные вызовы API могут привести к задержкам или заблокированным запросам.
- Связывание тестовых случаев: тестовые случаи не связаны автоматически с другими рабочими элементами таким образом, чтобы поддерживать сложные запросы. Например, вы не можете легко запрашивать иерархическое представление тестовых случаев, связанных с конкретными требованиями или историями пользователей.