回放报告
每次回放结束后,SoftProbe 会生成一份回放报告,说明这次回放有没有差异、差异由什么原因引起,以及哪些差异需要处理。
逐条查看差异、忽略字段、标记通过的方法,详见 审查差异。
查看报告
在应用工作台左侧选择「回放」→「执行记录」,点击一条记录即可打开报告。页面默认显示「报告」页签,「用例列表」页签中是这次回放的全部用例。
由流水线触发的回放,可以直接通过接口返回的 reportUrl 或群通知中的按钮打开报告,详见 发版后自动回放。
报告结论

报告第一行是结论,内容随回放和 AI 分析的进度变化:
| 状态 | 结论示例 |
|---|---|
| 全部通过 | 50 条用例全部通过 |
| AI 分析已完成 | 1 处差异由代码改动引起,需开发确认是否预期 没有发现代码改动引起的差异,另有 3 条原因未查明 没有发现代码改动引起的差异 |
| AI 分析中 | AI 正在分析原因,结论还在更新(同时显示已分析的条数) |
| 分析中途停止 | 原因分析没有做完(同时显示中断原因,已分析出的结果照常列出) |
| 分析未开始 | 原因分析未进行:今日自动分析次数已用完 尚未分析原因 |
| 没有 AI 分析 | 9 条用例未通过,3 类差异待确认 |
| 回放异常 | 回放没跑成、没有可回放的请求、回放没有跑完 |
分析中途停止或未开始时,先查看提示的原因,再到 回放信息 中点击「分析本次回放」或「重新分析」。还没分析到的用例,不等于没有问题。
结论下方一行是用例数的明细,例如:
50 条用例:41 条通过(其中 15 条是忽略噪音后通过的),9 条未通过 = 9 条代码改动引起 + 0 条原因未查明 + 0 条无效
把用例标记通过后,下方会多出一行处理进度,如「1 处都已确认(9 条标记通过)」或「已确认 1 处(9 条标记通过),还有 2 处待确认(6 条)」。上面那行明细的数字不会因此改变。
生成报告分为三步:回放、AI 降噪、AI 分析原因。AI 降噪会识别时间戳、随机 ID 等每次都会变化的字段,将符合条件的字段视为噪音并自动忽略;随后,AI 会分析仍未通过的用例,查找原因。流水线触发的回放默认自动完成这两步;手工发起的回放默认只自动降噪,原因分析需要在报告中手动开始。这些默认行为都可以在 流程设置 里调整。
结论不等于可以发版
「没有发现代码改动引起的差异」不等于没有差异,「原因未查明」和「无效」中的用例仍需人工确认。
按原因查看
有 AI 分析结果时,问题默认按原因分为三类:
| 分类 | 含义 | 处理方式 |
|---|---|---|
| 代码改动引起的差异 | AI 判断差异由代码改动引起 | 由开发确认是否为预期改动 |
| 原因未查明 | AI 未能确认是否为代码问题 | 人工排查 |
| 无效 | 已查明不是代码造成的差异,包括疑似噪音、配置问题、回放失败、SoftProbe 问题 | 按各分组给出的方法处理 |
下图来自另一次回放:4 条未通过的用例已全部查明原因,归入「无效」下的「疑似噪音」(图中已展开)。

「无效」默认收起。「原因未查明」为 0 条时也会显示,例如「0 条 · 4 条未通过都已查明原因」。这一类里标着「AI 推断,未核实」的问题,只是 AI 的推测,只能当作排查线索。
代码改动引起的差异
每处差异显示为一张卡片,包含以下内容:
- 标题:一句话概括改动,旁边标注「首次出现」或「已连续 N 次」。
- 接口、用例数和代码位置:如「/order/price · 9 条(这个接口回放了 22 条) · PricingService.java:12」。
- 说明:结合一组具体数据,解释差异是怎么产生的。
- 返回结果的变化:字段、录制时的值、本次的值和涉及的用例数。
- 代码改动:定位到代码时显示代码位置;获取到提交记录时,还会显示提交信息和改动前后的代码。
AI 给出原因后,会对照回放数据再核对一次,结果显示在卡片右下角:「已通过核对」或「未通过核对」。
如果分析时没有读取到代码仓库,或者读取到了但没能定位到代码,卡片会注明原因是根据返回数据推断的。应用尚未绑定代码仓库时,可点击卡片上的「去绑定代码仓库」,绑定后重新分析。
卡片底部的操作:
| 操作 | 说明 |
|---|---|
| 标记通过(N 条) | 确认这些用例的差异符合预期。差异只涉及一个字段时,可改用「标记通过并忽略 <字段>」,并选择忽略期限(只这次回放、以后每次回放)和适用范围 |
| 复制问题 | 复制一段包含接口、原因、代码位置和报告链接的文字,方便贴到工单或群聊 |
| 查看 N 条用例 | 打开这处差异涉及的用例 |
| 查看分析过程 | 查看 AI 得出结论的过程 |
按差异查看
点击右上角的「按差异」,问题改为按差异类型分组:待确认差异、下游调用差异、回放失败、疑似噪音。没有内容的分组不显示。没有 AI 分析结果时,只能按差异查看。

回放信息
「回放信息」位于报告底部,默认收起。标题行显示摘要:回放的接口数、录制时间段,以及分析所依据的代码版本。展开后包含以下内容:
| 内容 | 说明 |
|---|---|
| 各接口 | 每个接口的回放、通过、未通过条数。有分析结果时,未通过的条数按原因分类显示 |
| 回放设置 | 回放目标地址、发起人、流量来源、下游处理方式和用时。「下游处理」显示「返回值固定为录制时的原样」时,数据库、Redis、HTTP 调用和系统时间都使用录制时的值 |
| 三步流程 | 回放、AI 降噪、AI 分析原因的状态和结果。回放完成后,可在此手动「开始降噪」「分析本次回放」,或「重新降噪」「重新分析」 |
| 流程设置 | 详见 流程设置 |
| 已忽略的噪音 | 详见 已忽略的噪音 |
| 代码版本 | AI 分析时读取的分支和提交。SoftProbe 不核对该代码版本是否与被测服务实际运行的版本一致,页面上会注明这一点 |

流程设置
在「回放信息」中,点击三步流程右下方的「流程设置」。设置对整个应用生效,从下一次回放开始起作用,不影响已完成的回放;已完成的回放如需补做,可在三步流程中手动开始。

| 设置项 | 默认值 | 说明 |
|---|---|---|
| 回放结束后自动降噪 | 开启 | |
| 每日降噪次数上限 | 50 | 设为 0 则不再自动降噪 |
| 降噪使用的模型 | 默认模型 | 只列出已接入的可用模型 |
| 降噪完成后自动分析原因:CI 触发的回放 | 开启 | |
| 降噪完成后自动分析原因:手工回放 | 关闭 | 关闭时,需在报告中点击「分析本次回放」 |
| 每日自动分析次数上限 | 10 | 手动开始的分析不计入;设为 0 则不再自动分析 |
| 分析使用的模型 | 默认模型 | 只列出已接入、使用自有凭据的模型 |
此外:
- 定时回放暂不支持自动分析,可在报告中手动开始。
- 降噪和分析在服务端执行,使用这里设置的模型,与对话框中选择的模型无关。
- AI 生成的原因和说明默认使用中文。
已忽略的噪音
这次回放中有被忽略的差异时,「回放信息」中会出现「已忽略的噪音」。标题行显示 AI 自动忽略了几类差异、因此通过的用例数,以及忽略规则跳过的差异。展开后,每个被忽略的字段占一行:
- AI 降噪判断为噪音的字段,只在本次回放中忽略,行尾有「撤销」和「永久忽略」两个操作。点击「撤销」,该字段重新参与比对;点击「永久忽略」,该字段写入应用的对比规则,之后每次回放都不再比较。AI 不会自行修改对比规则,永久忽略只能由人工操作。
- 对比规则 跳过的差异,标有「已配置的规则」,并显示跳过的次数。

导出报告
需要归档、汇报或发到群里时,点击页面顶部的「导出」。

| 菜单项 | 内容 | 用途 |
|---|---|---|
| 下载 Excel | 可筛选的 Excel 文件,每行都附有返回平台的链接 | 归档、逐条核对 |
| 打印 / 存 PDF | A4 固定版式,在打印窗口中选择「另存为 PDF」即可保存为 PDF | 汇报、归档 |
| 复制摘要 | 结论和影响最大的几处差异,同时提供纯文本和富文本 | 群聊、邮件 |
| 复制 Markdown | 含表格的报告,包括结论、问题、差异和接口统计,不含逐条用例 | 工单、文档 |
| 复制链接 | 当前页面地址,包含环境和筛选条件 | 发给同事查看 |
回放排队中或进行中时,「下载 Excel」和「打印 / 存 PDF」不可用;「复制摘要」和「复制 Markdown」可以使用,内容为当时的进度。
Excel 内容
Excel 包含 5 张表:总览、待确认差异、已忽略的差异、接口明细、用例明细。有 AI 分析记录时增加「问题」表,共 6 张。
| 工作表 | 内容 |
|---|---|
| 总览 | 结论、统计数字和本次回放的设置 |
| 问题 | AI 分析出的问题,与报告中的卡片一一对应 |
| 待确认差异 | 按影响的用例数排序,每行附平台链接 |
| 已忽略的差异 | 忽略来源(AI 降噪或忽略规则)、理由、生效范围、当前是否仍生效 |
| 接口明细 | 每个接口的通过、有差异、回放失败条数 |
| 用例明细 | 默认只包含有差异和回放失败的用例;勾选菜单底部的「Excel 含通过的用例」后包含全部用例。最多 20,000 条 |

数据不全时会注明
差异过多只列出一部分、部分用例未能获取、用例数与统计数不一致时,「总览」中都会注明。有用例未能获取时,页面上还会出现提示,可点击「重新导出」。
打印版
打印版为 A4 固定版式,主要包括结论、回放信息、问题(有 AI 分析时)、待确认差异(只列前 20 条,其余提示到平台查看)、已忽略的差异、有问题的接口,以及这份导出覆盖的范围。逐条用例明细只在 Excel 中提供。
