查看测试结果

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

可以将自动测试配置为作为各种 语言的生成或版本的一部分运行。 测试报告提供了一种有效且一致的方法来查看使用不同的测试框架执行的测试结果,以衡量管道质量、查看可跟踪性、排查故障和驱动故障所有权。 此外,它还提供了以下各节中探讨的许多高级报告功能。

还可以使用 Analytics Service 对测试结果执行更深入的分析。 有关将此方法用于生成和部署管道的示例,请参阅 “分析测试结果”。

阅读 术语表 以了解测试报告术语。

注意

测试报告在 TFS 2015 及更高版本中可用,但本主题中所述的新体验目前仅在Azure Pipelines中可用。

注意

在 Microsoft Team Foundation Server (TFS) 2018 和更低版本中,生成和发布管道被称为“定义”,运行被称为“生成”,服务连接被称为“服务终结点”,阶段被称为“环境”,而作业被称为“阶段” 。

可以在生成或发布摘要的“ 测试 ”选项卡中查看已发布的测试结果。

“测试”选项卡中的 Surface 测试结果

可以使用以下选项之一在 “测试 ”选项卡中显示测试结果:

“测试”选项卡之外的 Surface 测试信息

测试 ”选项卡提供了测试执行的详细摘要。 这有助于跟踪管道的质量,以及排查故障。 Azure DevOps还提供显示测试信息的其他方法:

  • 仪表板提供团队进度的可见性。 添加一个或多个显示测试相关信息的小组件:

  • 测试分析 提供了对一段时间内度量的测试结果的丰富见解。 它通过提供顶级失败测试等数据来帮助识别测试中存在问题的区域。

在生成中查看测试结果

生成摘要提供生成中执行的关键步骤的时间线视图。 如果测试已执行并报告为生成一部分,则时间线视图中会显示测试里程碑。 测试里程碑提供测试结果摘要,作为 传递百分比 的度量值,以及 故障中止 指标(如果存在)。

View test in build timeline view

在发布中查看测试结果

在管道视图中,可以看到所有阶段和关联的测试。 该视图提供测试结果摘要,作为 传递百分比 的度量值,以及 故障中止 指标(如果存在)。 这些指示器与在生成时间线视图中相同,在生成和发布方面提供一致的体验。

View test in release canvas view

“测试”选项卡

生成和发布摘要都提供了测试执行的详细信息。 选择 “测试摘要” 以查看“ 测试 ”选项卡中的详细信息。此页面包含以下部分

  • 摘要:提供测试执行的关键定量指标,例如测试计数总数、失败的测试数、通过百分比等。 它还提供与上一次执行相比的变化差异指示器。

  • 结果:列出在当前生成或发布过程中执行并报告的所有测试。 默认视图仅显示失败和中止的测试,以便专注于需要注意的测试。 但是,可以使用提供的筛选器选择其他结果。

  • 详细信息:可以排序、分组、搜索和筛选的测试列表,以查找所需的测试结果。

View tests tab

选择任何测试运行或结果以查看详细信息窗格,其中显示故障排除所需的其他信息,例如错误消息、堆栈跟踪、附件、工作项、历史趋势等。

View details tab

提示

如果使用Visual Studio测试任务来运行测试,则使用任何 Console.WriteLine、Trace.WriteLine 或 TestContext.WriteLine 方法) 从测试 (记录的诊断输出将显示为失败测试的附件。

测试 ”选项卡的以下功能有助于提高工作效率和故障排除体验。

筛选大型的测试结果

随着时间的推移,测试累算,并且对于大型应用程序,可以轻松增长到数万个测试。 对于具有大量测试的这些应用程序,很难浏览结果以识别测试失败、关联根本原因或获取问题的所有权。 使用筛选器可以轻松导航到感兴趣的测试结果。 可以筛选 测试名称结果 (失败、通过等) 、 测试文件 (文件,其中包含测试) 和 所有者 (测试文件) 。 所有筛选器条件本质上都是累积条件。

Filter large test result set

此外,使用多个 分组 选项(例如 测试运行测试文件优先级要求等),可以根据需要组织 结果 视图。

使用 bug 测试债务管理

若要管理失败或长时间运行的测试的测试债务,可以创建 bug 或向现有 bug 添加数据,并且所有在工作项选项卡中查看所有关联的工作项。

沉浸式故障排除体验

错误消息和堆栈跟踪本质上是漫长的,需要足够的空间才能在故障排除期间查看详细信息。 为了提供沉浸式故障排除体验,“ 详细信息 ”视图可以扩展到整页视图,同时仍能够在上下文中执行所需的操作,例如为所选测试结果创建 bug 或要求关联。

Full page panel view

排查测试失败的数据

对于测试失败,错误消息和堆栈跟踪可用于故障排除。 还可以在 “附件 ”选项卡中查看与测试失败关联的所有附件。

测试债务管理

可以创建或添加到现有 bug,以管理失败或长时间运行的测试的测试债务。 “ 工作项 ”选项卡详细介绍了与测试关联的所有 bug 和要求,以帮助你分析要求影响以及处理 bug 的人员。

测试执行历史记录可以提供对测试的可靠性或性能的有意义的见解。 对失败进行故障排除时,了解过去测试的表现非常有用。 “ 测试 ”选项卡在上下文中提供测试结果的测试历史记录。 测试历史记录信息以渐进方式公开,从当前生成管道开始向其他分支或当前阶段公开,以便分别生成和发布。

View historical trends

查看正在进行的测试的执行

测试(如集成和功能测试)可以长时间运行。 因此,请务必在任何给定时间查看测试执行的当前或准实时状态。 即使对于快速运行测试的情况,也有必要尽早了解相关测试结果的状态 () :尤其是在发生故障时。 正在进行的视图无需等待测试执行完成。 执行进度时,结果几乎实时提供,帮助你更快地采取措施。 可以调试失败、提交 bug 或中止管道。

In progress release view

注意

此功能目前可用于生成和发布,在多代理作业中使用Visual Studio测试任务。 在将来的版本中,它将可用于单一代理作业。

下图显示了发布中的 正在进行的 测试摘要,报告给定时间点的测试计数和测试失败总数。 测试失败可用于故障排除、创建 bug (s) ,或采取任何其他适当的操作。

In progress summary view

查看汇总的测试结果

在测试执行期间,测试可能会生成多个实例或有助于总体结果的测试。 一些示例包括重新运行的测试、由其他测试的有序组合构成的测试 (有序测试) 或基于输入参数 (数据驱动测试) 具有不同实例的测试。

由于这些测试相关,它们必须与派生自单个实例或测试的总体结果一起报告。 这些测试结果报告为“ 测试 ”选项卡中的汇总测试结果:

  • 重新运行失败的测试:重新运行失败的测试功能在最新版本的 Visual Studio 测试任务中可用。 在重新运行期间,可以对失败的测试进行多次尝试,由于测试的非确定性行为,每个失败都有不同的根本原因。 测试报告为重新运行的所有尝试以及汇总单元的总体测试结果提供组合视图。 此外, 测试管理 API () 现在支持发布和查询汇总测试结果的功能。

    Rerun failed tests

  • 数据驱动测试:与重新运行失败的测试类似,在汇总视图中报告数据驱动测试的所有迭代。 汇总视图还可用于Visual Studio) 中 (.orderedtest 的有序测试。

    Data driven test

注意

测试摘要部分中的指标,例如使用汇总测试结果的根级别计算测试总数、通过数、失败或其他指标。

查看已中止的测试

测试执行可能会因多种原因而中止,例如测试代码错误、受测试源中的错误或环境问题。 无论中止的原因如何,必须能够诊断行为并确定根本原因。 可以在“测试”选项卡中的已完成运行旁查看中止的测试和 测试 运行。

View stopped tests.

注意

此功能目前可用于生成和发布,使用多代理作业中的Visual Studio测试任务,或使用测试管理 API () 发布测试结果。 在将来的版本中,它将可用于单一代理作业。

自动推断的测试结果

Azure DevOps可以自动推断管道中为一些受支持的测试框架运行的测试的输出。 这些自动推断的测试报告不需要管道的特定配置,并且是开始使用测试报告的零努力方法。

Example of an Automatically Inferred Test Report

请参阅 自动推断测试结果的运行程序列表

由于此类推断报表中仅存在有限的测试元数据,因此它们在特性和功能方面受到限制。 以下功能不适用于推断的测试报告:

  • 按测试文件、所有者、优先级和其他字段对测试结果进行分组
  • 搜索和筛选测试结果
  • 检查通过的测试的详细信息
  • 预览在 Web UI 本身的测试期间生成的任何附件
  • 将测试失败与新的 bug 相关联,或查看此失败的相关工作项列表
  • 有关在 Pipelines 中进行测试的内置分析

注意

一些跑步者(如 Mocha)具有多个内置控制台记者,如 点矩阵进度条。 如果已为测试运行程序配置了非默认控制台输出,或者使用的是自定义记者,Azure DevOps将无法推断测试结果。 它只能推断 默认 记者的结果。

帮助和支持