使用 Azure Test Plans 设置自动测试

Azure DevOps 服务 |Azure DevOps Server |Azure DevOps Server 2022

Azure Test Plans中的自动测试将自动化测试代码连接到测试用例工作项。 可以从测试计划中按需运行测试、跟踪结果、进行手动测试,并衡量需求级别的质量。 本文逐步讲解从编写测试到分析结果的完整工作流。

端到端自动化测试工作流

设置自动测试涉及以下步骤:

  1. 创建自动化测试 - 在受支持的框架中编写测试,并将其签入源代码管理。
  2. 设置生成管道 - 创建一个管道,用于编译测试项目并生成测试二进制文件。
  3. 将测试与测试用例相关联 - 将每个自动测试方法链接到测试用例工作项,以便进行可跟踪。
  4. 运行自动测试 - 从测试计划中或作为 CI/CD 流水线的一部分按需执行测试。
  5. 查看结果和跟踪质量 - 分析通过/失败结果,跟踪需求覆盖率并识别趋势。

先决条件

类别 要求
项目访问权限 项目成员
访问级别 - 若要查看与测试相关的工作项或运行测试用例:至少 基本 访问权限。 具有 利益干系人 访问权限的用户无权访问测试计划。
- 要练习所有测试相关功能:基本 + 测试计划访问级别或以下一种 Visual Studio 订阅:
- 企业
- 测试专家
- MSDN 平台
权限 区域路径权限:
- 若要添加或修改测试计划、测试套件、测试用例或其他基于测试的工作项类型:编辑此节点中的工作项设置为“允许”。
- 若要修改测试计划属性,例如生成和测试设置:管理设置为“允许的测试计划
- 若要创建和删除测试套件,请从测试套件中添加和删除测试用例,或更改与测试套件关联的测试配置:管理设置为“允许”的测试套件

项目级权限:
- 若要查看、创建或删除测试运行,请将查看测试运行创建测试运行删除测试运行的权限设置为“允许”
- 若要管理测试配置或测试环境:管理测试配置和管理设置为“允许的测试环境
- 若要向基于测试的工作项添加新标记:标记定义设置为允许
- 若要永久删除基于测试的工作项:永久删除设置为“允许的工作项

有关详细信息,请参阅 手动测试访问和权限

此外:

类别 要求
管道权限 若要从测试计划运行自动测试,需要发布权限(创建发布管理部署编辑发布阶段)。 有关详细信息,请参阅发布权限
工具 Visual Studio 2017 或更高版本(企业版或专业版)以关联来自Visual Studio的测试。 如果从 Azure DevOps Web 门户关联测试,则不需要。

步骤 1:创建自动测试

使用任何受支持的框架编写自动化测试。 将测试项目签入 Azure Repos 或一个已连接的 GitHub 仓库。

支持的框架

Framework 在 Visual Studio 中关联 在 Azure DevOps 中关联
MSTest v1/v2
NUnit
xUnit
Selenium
编码的 UI 测试
Python(PyTest)
Java (马文/格雷德尔)

有关编写在 CI/CD 管道中可靠运行的 UI 测试的指导,请参阅 UI 测试注意事项。 有关分步 Selenium 示例,请参阅 使用 Selenium 执行 UI 测试

步骤 2:设置生成管道

创建一个构建流水线,用于编译测试项目并产生包含测试二进制文件的工件。 支持经典管道和 YAML 管道。

  1. 如果没有管道,请创建第一个管道
  2. 确保管道构建测试项目,并将测试二进制文件发布为生成构件。
  3. 使用 Visual Studio 测试任务Azure 测试计划任务在管道中运行和报告测试。
  4. 如果管道运行测试,结果将自动显示在管道运行的 “测试 ”选项卡上。

若要从非Microsoft测试运行程序发布测试结果,请使用 Publish 测试结果任务

步骤 3:将自动测试与测试用例相关联

将测试方法与测试用例工作项相关联时,可以获得以下优势:

  • 测试计划的按需执行
  • 要求可追溯性 - 当测试用例链接到用户情景时,自动化结果会显示要求级别质量
  • 统一报告 - 自动和手动测试结果一起显示在测试运行中心

可以从 Visual StudioAzure DevOps 网络门户 关联测试:

  • Visual Studio - 打开测试资源管理器,选择测试方法,然后选择关联到 Test Case。 支持.NET框架(MSTest、NUnit、xUnit、Selenium、编码的 UI)。
  • Azure DevOps 门户 - 从管道测试结果或直接从测试用例工作项中进行关联。 支持所有框架,包括Python和Java。

有关完整说明,请参阅 将自动测试与测试用例相关联

重要

可以将测试方法与多个测试用例相关联,但每个测试用例只能有一个关联的测试方法。

步骤 4:运行自动测试

从测试计划运行(按需)

直接从 Azure Test Plans 触发自动测试,而无需设置计划生成。 选择特定的测试用例,并针对测试计划设置中配置的生成和发布管道运行它们。

有关分步说明,请参阅 从测试计划运行自动测试

从管道 (CI/CD) 运行

在生成或发布管道中运行自动测试。 测试会在每次提交或部署时自动执行,结果显示在管道的 “测试” 选项卡上。

步骤 5:查看测试结果并跟踪质量

测试结果

  • 在测试计划中 - 在 测试运行中心中查看自动和手动测试的通过和失败结果。 选择任何测试运行以查看详细的结果、错误消息和堆栈跟踪。
  • 在管道内 - 在任何管道运行的测试选项卡上查看测试结果。 请参阅 “查看测试结果”。
  • 测试分析 - 确定最高失败测试、跟踪通过率趋势,以及跨生成分析故障模式。 请参阅 测试分析
  • 代码覆盖率 - 用于衡量哪些代码部分由测试运行。 请参阅 “查看代码覆盖率结果”
  • Flaky 测试管理 - 检测和管理具有非确定性结果的测试,以防止生成失败。 请参阅 管理不稳定的测试

要求可追溯性

将测试用例链接到要求(用户情景、PBIs)时,自动测试结果会显示要求级别的质量。 跟踪哪些需求通过、未通过或缺少测试覆盖。 请参阅 要求可追溯性