Visual Studio Debugger Agent 新增测试驱动式排查工作流
【译】Visual Studio Debugger Agentic Workflow 迎来新的测试驱式排查工作流 - MeteorSeed
Visual Studio Debugger Agent 新增测试驱动式排查工作流,可创建或定位针对性测试,通过调试排查根因,并重新运行测试验证修复。该流程适用于异常报错、堆栈跟踪或偶发失败等难以稳定复现的问题,需要已有测试基础设施;用户可审阅测试、主导调查并批准修复方案。
几个月前,我们在 Visual Studio Debugger Agent 中推出了全新的引导式智能工作流,旨在帮您从一份漏洞报告着手,完成经过验证的修复方案,不必耗费一早上的时间去猜测该从何处入手。
如果您错过了该公告,可以查看《 Stop Hunting Bugs: Meet the New Visual Studio Debugger Agent 》,了解该智能体如何构建假设、引导调试器、在运行时检查您的应用程序,并验证最终修改。
如今,我们在已有经验基础上推出全新的测试驱动式排查工作流。Debugger Agent 现在能够创建或定位针对性测试,通过调试开展根因排查,并重新运行测试以验证修复方案。这对于我们非常熟悉的一类缺陷报告尤其有用:异常报错、堆栈跟踪信息,或是标注“偶发失败”的记录,这类问题很难通过人工稳定复现。
基于引导调试器循环
当问题能够稳定复现时,实时调试依旧是非常合适的方案。而当问题无法稳定复现的时候,测试驱动式排查为调试智能体提供了另一种解决思路:通过自动化测试捕获故障,使其能够重复复现。
从 GitHub 问题、Azure DevOps 工作项或者一段简单的问题描述开始。智能体会审阅现有上下文,询问缺失的细节,并推荐最佳排查路径。
为问题选择合适的解决路径
当拥有可靠的复现步骤时,调试智能体可帮您选择最适配该场景的方案:
- 实时调试:启动应用程序,交互式复现问题,并检查实时运行状态。
- 测试驱动式排查:创建或找到一个可复现该现象的测试用例,然后借助该测试推动问题排查并验证修复方案。(需要已有测试基础设施)
如果该问题未包含可用的复现步骤,智能体首先会尝试从问题描述、诊断信息以及代码上下文里寻找可行方式来推导复现步骤。若无法构建可靠的手动复现流程,且检测到存在可用的测试基础设施,智能体将自动启动测试驱动排查流程,并生成或筛选出针对性测试用例。
一次失败的测试变为排查
一旦测试复现该问题,调试智能体不会只是生成代码并寄希望于结果。它会借助测试开展调试,利用断点与运行时信息来弄清出现该行为的原因。
该工作流可帮您实现以下功能:
- 稳定复现问题:在整个排查过程中可反复运行同一个失败的测试用例。
- 查看代码实际执行情况:智能体在测试运行时检查变量、调用栈以及运行时状态。
- 验证猜想:可借助调试会话中的证据确认或排除潜在原因。
- 验证修复方案:在您批准建议的修改后,智能体将重新运行测试,确认测试能够通过。
- 检查回归问题:必要时,还可运行相关测试,确保本次修复不会破坏原有功能。
由此形成一套有效的调试闭环:复现、排查、修复与验证。不再依赖一次性人工检查,最终得到自动化测试用例,记录预期行为,并持续保障该功能后续正常运行。
您始终掌握主导权
在整个工作流程中,您保持掌控。审阅或修改测试内容、主导调查工作、批准修复方案,以此确保测试能够反映客户遇到的真实问题。
试一试,并告诉我们您的感受!
下次遇到难以复现的 bug 时,可以试试测试驱动式排查。我们很想了解它是否适配您的调试工作流,以及您希望后续新增哪些功能。
关注 @VS_Debugger、@VisualStudio,还有 YouTube 和 LinkedIn 账号,持续与 Visual Studio 团队保持联系。
原文链接:https://devblogs.microsoft.com/visualstudio/the-visual-studio-debugger-agentic-workflow-gets-a-test-driven-upgrade/
来源:博客园 · cnblogs.com