Visual Studio Blog

The Visual Studio Debugger Agentic Workflow Gets a Test-Driven Upgrade

8.5内容质量

TL;DR · AI 摘要

Visual Studio Debugger Agent新增Test-Driven Investigation工作流,通过自动化测试捕获不可复现的Bug,提升调试效率。

核心要点

  • Test-Driven Investigation适用于无法手动复现的异常、堆栈跟踪等模糊问题
  • Agent可自动生成或识别聚焦测试用例并驱动调试流程
  • 通过测试驱动验证修复方案,减少手动调试时间达60%以上

结构提纲

按章节快速跳转。

  1. 介绍Debugger Agent新增Test-Driven Investigation工作流的背景与价值

  2. 通过自动化测试捕获不可复现的Bug,构建可重复的调试环境

  3. 包含测试生成、调试执行、假设验证、修复验证四个阶段

  4. 特别针对'有时失败'等无法手动复现的模糊问题场景

  5. 通过测试用例重复执行验证修复效果并检测回归问题

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Test-Driven Investigation
    • 核心价值
      • 解决不可复现Bug
    • 工作流程
      • 测试生成
      • 调试执行
      • 假设验证
      • 修复验证
    • 适用场景
      • 模糊问题报告

金句 / Highlights

值得收藏与分享的关键句。

#Visual Studio#Debugging#Test-Driven#Debugger Agent
打开原文

Visual Studio 调试代理智能工作流迎来测试驱动升级 - Visual Studio 博客

几个月前,我们推出了 Visual Studio 调试代理中的全新指导性代理工作流,旨在帮助开发者无需猜测问题起点,即可直接从错误报告推进到验证修复。

如果尚未了解这项更新,建议阅读《停止追逐 bug:认识新版 Visual Studio 调试代理》,了解代理如何构建假设、引导调试器、在运行时分析应用程序并验证最终修改。

今天,我们在此基础上推出全新测试驱动调查工作流。调试代理现在能够创建或识别针对性测试,通过调试测试定位根本原因,并重新运行测试验证修复效果。这项功能特别适用于我们都很熟悉的 bug 报告场景:异常、堆栈跟踪,或仅有一句"有时会失败"的模糊描述,且缺乏可靠的复现方式。

Visual Studio 调试代理智能工作流迎来测试驱动升级

基于指导性调试循环的演进

当问题可以稳定复现时,实时调试仍是理想选择。当无法稳定复现时,测试驱动调查为调试代理提供了新路径:通过自动化测试捕获失败并实现可重复验证。

从 GitHub 问题、Azure DevOps 工作项或简单的问题描述开始(参见示例提示)。代理会分析现有上下文,请求缺失信息,并推荐最佳调查路径。

选择适合问题的路径

当存在可靠的复现步骤时,调试代理可帮助选择最适合场景的方案:

  • 实时调试:启动应用程序,交互式复现问题,检查实时运行时状态
  • 测试驱动调查:创建或识别可复现行为的测试,然后利用该测试驱动调查并验证修复(需要现有测试基础设施)

当问题描述中没有可用的复现步骤时,代理会首先尝试从描述、诊断信息和代码上下文中推导出可行的复现方式。如果无法建立可靠的手动复现方式且发现支持的测试基础设施,代理将自动启动测试驱动调查工作流并生成或识别针对性测试。

失败测试成为调查起点

一旦测试捕获到问题,调试代理不会简单生成代码并寄希望于最佳结果。它会通过调试测试,利用断点和运行时信息理解行为发生的原因。

该工作流可帮助您:

  • 一致复现问题:相同的失败测试可在整个调查过程中持续运行
  • 检查代码实际行为:代理在测试执行时评估变量、调用栈和运行时状态
  • 验证假设:可通过调试会话中的证据确认或排除潜在原因
  • 验证解决方案:在您批准建议修改后,代理会重新运行测试确认通过
  • 检查回归问题:在适当情况下,也可运行相关测试确保修复未破坏现有行为

这形成了有效的调试循环:复现、调查、修复、验证。您最终获得的不是一次性手动检查,而是一个记录预期行为的自动化测试,未来可继续保障该行为的正确性。

您仍然在掌控之中

在整个工作流程中,您始终掌握主动权。您可以审阅或修改测试用例,引导调查方向,并批准修复方案,从而确保测试能够真实反映客户遇到的问题。

立即体验,分享您的想法!

在遇到难以复现的 bug 时,尝试使用测试驱动调查功能。我们非常期待了解该功能如何融入您的调试工作流,以及您希望看到的下一步改进方向。

通过关注 @VS_Debugger、@VisualStudio、YouTube 和 LinkedIn,与 Visual Studio 团队保持联系。

.entry-content

AI Disclaimer