基于生成和测试集成字段创建查询

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

支持生成和测试集成的工作项字段支持以下操作:

  • 将 bug 与发现或修复这些 bug 的生成关联
  • 查询与生成关联的 bug
  • 将测试用例标记为手动或自动,并存储信息以支持自动测试用例
  • 对于测试用例和共享步骤,定义操作和验证步骤以及用于运行测试的数据。

支持的运算符和宏

大多数生成和测试集成字段的数据类型为字符串、纯文本或 HTML。 指定文本或 RTF 字段的查询子句可以使用下表中列出的运算符和宏。

Data type

支持的运算符和宏


RTF (HTML) 和
多行文本字符串(纯文本)

Contains Words, Does Not Contain Words, Is Empty, Is Not Empty.
Azure DevOps Server 2019 RC2 及更高版本支持 Is EmptyIs 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

列出 bug 和测试它们的测试用例

打开新查询,将查询类型设置为工作项和直接链接。 在顶级筛选 bug,并在链接的工作项筛选器中为测试用例添加筛选器。

列出 bug 和测试它们的测试用例

注意

不能构造显示测试计划、测试套件和测试用例的分层视图的查询。 这些项不会使用父子链接类型链接在一起。 可以通过“测试”>“测试计划”页查看层次结构

生成和测试数据字段

下表描述了在一个或多个测试 WIT 中定义的字段。 有关数据类型和字段特性的信息,请参阅工作项字段和属性

若要自定义字段或选择列表,请参阅添加或修改字段以支持查询、报表和工作流

字段名称

说明

工作项类型


自动化状态 1

测试用例的状态。 你可以指定以下值:

  • 自动
  • 未自动运行
  • 已计划
    若要运行自动测试,请参阅从测试计划运行自动测试
    引用名称=Microsoft.VSTS.TCM.AutomationStatus,数据类型=字符串

测试用例

发现版本 2

产品生成号,也称为修订(发现 Bug 的位置)。
引用名称=Microsoft.VSTS.Build.FoundIn,数据类型=字符串

注意

还可以使用“发现版本”链接类型将工作项链接到生成。 此链接类型在 Azure DevOps 中可用,仅适用于当前生成过程(而不是 XAML 生成)。

Bug

集成生成 2

集成代码或修复 Bug 的产品生成号。
引用名称=Microsoft.VSTS.Build.IntegrationBuild,数据类型=字符串

注意

还可以使用“在生成中集成”链接类型将工作项链接到生成。 此链接类型在 Azure DevOps 中可用,仅适用于当前生成过程(而不是 XAML 生成)。

全部

问题

指示共享步骤与预期结果相关联。 允许的值为“是”和“否”。 引用名称=Microsoft.VSTS.Common.Issue,数据类型=字符串

共享步骤

参数

包含要在运行手动测试时使用的参数。
Microsoft.VSTS.TCM.Parameters,数据类型=HTML

共享参数、共享步骤、测试用例

步骤

运行测试所需的操作和验证步骤。 Microsoft.VSTS.TCM.Steps,数据类型=HTML

共享步骤、测试用例

系统信息

与测试相关的软件和系统配置的信息。
Microsoft.VSTS.TCM.SystemInfo,数据类型=HTML

bug、反馈响应

重现步骤(或要重现的步骤)

重现意外行为所需的步骤。 捕获足够的信息,以便其他团队成员可以了解问题的总体影响以及他们是否已修复 bug。 这包括查找或重现 Bug 和预期行为所执行的操作。 引用名称=Microsoft.VSTS.TCM.ReproSteps,数据类型=HTML

Bug

测试套件类型 1

测试套件类别。 允许值包括:

  • 基于查询:用于将具有特定特性的测试用例组合在一起 - 例如,所有 Priority=1 的测试。 该套件会自动包括由你定义的查询返回的每个测试用例。
  • 基于需求:用于将旨在跟踪积压工作项的测试状态的测试用例组合在一起。 每个添加到基于需求的测试套件中的测试用例将自动链接到积压工作项。
  • 静态:用于将带有任何特征或测试套件的测试用例组合在一起。
    有关详细信息,请参阅创建测试计划
    引用名称=Microsoft.VSTS.TCM.TestSuiteType,数据类型=字符串

测试套件

注意

  1. 不要为这些字段自定义选取列表。 系统仅接受那些已列出的值。
  2. 通过将 GLOBALLIST 元素添加到 FIELD 定义,你可以提供生成的下拉菜单,以供用户从中进行选择。 若要了解如何操作,请参阅本文后面的生成和全局列表自动填充

其他字段

以下字段不显示在工作项表单中,但系统会针对测试用例或测试套件来跟踪这些字段。 可以使用其中一些字段筛选查询并创建报告。 (这些字段都不会添加到数据仓库中,也不会编制索引。)

字段名称

说明

工作项类型

自动测试存储

包含可自动化测试用例的测试的程序集。

引用名称=Microsoft.VSTS.TCM.AutomatedTestStorage,数据类型=字符串

测试用例

自动测试类型

可自动化测试用例的测试的类型。

引用名称=Microsoft.VSTS.TCM.AutomatedTestType,数据类型=字符串

测试用例

AutomatedTestId

可自动化测试用例的测试的 ID。

引用名称=Microsoft.VSTS.TCM.AutomatedTestId,数据类型=字符串

测试用例

AutomatedTestName

可用于自动化测试用例的测试的名称。

引用名称=Microsoft.VSTS.TCM.AutomatedTestName,数据类型=字符串

测试用例

LocalDataSource

支持测试的本地数据源。

引用名称=Microsoft.VSTS.TCM.LocalDataSource,数据类型=HTML

测试用例

查询文本

用于捕获为基于查询的套件类型定义的查询。

引用名称=Microsoft.VSTS.TCM.QueryText,数据类型=纯文本

测试套件

测试套件审核

跟踪修改测试套件时所运行的其他操作,例如,向测试套件添加测试或更改配置。 此字段可通过“历史记录”选项卡或通过单独的查询来查看。 会出现组合的历史记录视图,包括对工作项字段所做的更改以及相关项目(例如测试点和配置)所引发的更改。

引用名称=Microsoft.VSTS.TCM.TestSuiteAudit,数据类型=纯文本

测试套件

测试套件类型 ID 1

系统分配的值,对应于测试套件类别并且仅适用于测试套件。 分配的值为:

  • 1(静态)

  • 2(基于查询)

  • 3(基于需求)

引用名称=Microsoft.VSTS.TCM.TestSuiteTypeId,数据类型=整数

测试套件

注意

  1. 不要为这些字段自定义选取列表。 系统仅接受那些已列出的值。

与 Team Foundation Build 集成的字段

Team Foundation Build 是可与 Azure DevOps Server 和 TFS 一起使用的本地生成系统。 可以使用 Team Foundation Build 配置生成过程,Team Foundation Build 可以在生成失败时生成工作项。 它还可以将生成信息添加到在特定生成中解决的工作项。 为了让它正常工作,Team Foundation Build 要求将以下两个字段添加到工作项类型定义:“发现版本”和“集成版本”。

“发现版本”和“集成版本”字段是为默认流程中的 bug 定义的。 这些字段将 Bug 与发现或修复这些 Bug 的生成关联。

你可以使用以下代码片段将这些字段添加到 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="&lt;None&gt;" />
        </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="&lt;None&gt;" />
        </SUGGESTEDVALUES>
</FIELD>

若“发现版本”字段存在于 WIT 定义中,Team Foundation Build 将在生成失败时创建一个工作项,并将“发现版本”字段设置为失败的生成的生成号。 如果“发现版本”字段缺失,Team Foundation Build 不会为已失败的生成创建工作项,但其他一切会按预期方式运行。

若“集成版本”字段存在于 WIT 定义中,Team Foundation Build 将确定在每个生成中解决的工作项,然后更新这些工作项,以在“集成版本”字段中设置解决它们时使用的生成号。 如果“集成版本”字段缺失,Team Foundation Build 不会在工作项中存储生成号,但其他一切会按预期方式运行。

生成和全局列表自动填充

首次使用 Team Foundation Build 对项目进行生成排队时,TFS 会自动添加标记为“生成 - 项目名称”的全局列表。 每次运行生成时,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="&lt;None&gt;" />
        </SUGGESTEDVALUES>
        <SUGGESTEDVALUES expanditems="true" filteritems="excludegroups">
          <GLOBALLIST name="Builds - TeamProjectName" />
        </SUGGESTEDVALUES>
</FIELD>

与测试计划集成的字段

使用测试计划,你可以在测试失败时自动创建 bug 或其他类型的工作项。 有关详细信息,请参阅使用探索性测试将发现结果添加到现有 bug

使用此方式创建工作项后,将在“系统信息”和“重现步骤”字段中捕获有关重现 bug 的系统和步骤信息。

你可以使用以下代码片段,将这些字段添加到你为跟踪缺陷而创建的工作项类型。

<FIELD name="System Info" refname="Microsoft.VSTS.TCM.SystemInfo" type="HTML" />
<FIELD name="Repro Steps" refname="Microsoft.VSTS.TCM.ReproSteps" type="HTML" />

与 Team Foundation 版本控制集成的字段

Team Foundation 版本控制 (TFVC) 中提供的某个功能可允许你在签入代码时关联或解决工作项。 进行代码更改时,你可能已经处理了某个特定的工作项,此时你可以在处理完该代码后,从源代码管理签入窗口设置该关联。

要使 Team Foundation 版本控制能够解决工作项,工作项需包含特定的操作。 然后,源代码管理系统将查询工作项跟踪,以确定工作项是否支持该操作;如果它确实支持该操作,它还会查询转换的源和目标状态。 如果已找到该操作,源代码管理系统可以根据签入代码时设置的转换对工作项进行转换。

注意

使用 Checkin 操作时,你必须设置合理的“自”和“至”状态以反映你所需的状态转换。

有关操作的详细信息,请参阅基于状态、转换或原因自动化字段分配