Azure DevOps Services
开发人员的工作效率依赖于测试发现开发中代码的真正问题或及时可靠地予以更新的能力。 不可靠测试会阻碍真正问题的发现,因为失败通常与受测试的更改无关。 不可靠测试是一种提供不同结果(例如通过或失败)的测试,即使源代码或执行环境未发生更改。 不可靠测试还会影响交付代码的质量。
注意
此功能仅适用于 Azure DevOps Services。 通常,新功能首先会在云服务中引入,然后在 Azure DevOps Server 的下一个主要版本或更新中本地提供。 有关详细信息,请参阅 Azure DevOps 功能时间线。
在产品中引入不可靠测试管理的目的是减少不可靠测试给开发人员带来的苦恼并适应整个工作流。 不可靠测试管理提供以下好处。
检测 - 结合插入到你自己的自定义检测方法中的重新运行或扩展性机制来自动检测不可靠测试
不可靠性管理 - 将测试标记为不可靠后,数据便可供该分支的所有管道使用
不可靠测试报告 - 可以选择是要防止不可靠测试导致的生成失败,还是仅将不可靠标记用于故障排除
解决 - 根据分析,手动创建 bug 或手动将测试标记为不可靠和取消这种标记
闭合循环 - 在解决 bug/手动输入后重置不可靠测试
启用不可靠测试管理
若要配置不可靠测试管理,请选择“项目设置”,然后在“管道”部分选择“测试管理”。
将开/关按钮滑动到“开”。
所有项目的默认设置是使用不可靠测试进行故障排除。
注意
系统之间的切换本质上是破坏性的,因为 Azure DevOps 中存储的所有功能历史记录在转换过程中都会被擦除。
不可靠测试检测
不可靠测试管理支持系统检测和自定义检测。
系统检测:Azure DevOps 具有用于检测异常测试的内置机制。 这涉及到在同一管道执行中重新运行失败的测试。 如果测试用例最初失败,但在重新运行时通过,则会将其标记为不稳定。 此检测与 VSTest 任务紧密耦合,该任务在同一任务执行中重新运行失败的测试。 另一种方法涉及在管道中重新运行失败的作业(可以通过在任何管道执行过程中手动单击“重新运行失败的作业”来完成)。 如果测试在重跑中通过,则会将其标记为不稳定。
注意
将测试标记为不可靠后,数据便可供该分支的所有管道使用,以帮助在每个管道中进行故障排除。
自定义检测:此方法允许外部系统集成自己的逻辑来检测异常测试,并依赖 Azure DevOps 进行一致的跟踪和管理。 使用 结果元数据 - 更新 API 启用与 Azure DevOps 的通信。 API 需要测试用例引用 ID、用于指示测试是否被认为不稳定的标识,以及观察到不稳定性的存储库分支。 用户应该能够从 按 ID 获取测试结果 API 中获取测试用例引用 ID。 将此信息发送到 Azure DevOps 后,系统会在后续管道运行中存储并传递该测试用例的不稳定状态。 在测试被标记为不稳定之后,Azure DevOps 将继续将其视为不稳定的,直到被手动取消这个标记。
不可靠测试选项
“不可靠测试选项”指定如何在测试报告和解决功能中使用不可靠测试,如以下部分所述。
不可靠测试管理和报告
在测试管理页上的“不可靠测试选项”下,可以设置有关如何在测试摘要报告中包含不可靠测试的选项。 测试结果中提供了通过和失败测试的不可靠测试数据。 “不可靠”标记可帮助你识别不可靠测试。 默认情况下,不可靠测试会包含在测试摘要中。 但是,如果你想要确保不可靠测试失败不会导致管道失败,可以选择不将其包含在测试摘要中,并消除测试失败。 此选项确保从通过百分比中删除不可靠测试(通过和失败的测试),并将其显示在“未报告的测试”中,如以下屏幕截图所示。
注意
只会更新 Visual Studio 测试任务和发布测试结果任务的测试摘要报告。 可能需要添加自定义脚本才能消除其他方案的不可靠测试失败结果。
标记为不可靠的测试
可以根据分析或上下文,通过选择“不可靠”(或“可靠”,具体取决于测试是否已标记为不可靠),将测试标记为不可靠或取消这种标记。
当测试在管道中标记为不可靠或可靠时,不会在当前管道中进行任何更改。 仅当以后执行该测试时,才会评估已更改的不可靠设置。 标记为不可靠的测试在用户界面中带有“已标记为不可靠”标记。
帮助和支持
- 请查看疑难解答页面
- 在 Stack Overflow 中获取建议,通过开发人员社区获取支持