Skip to content

固化用例并建立测试集

默认录制数据只会保留配置的时间。对于希望重复用于回归测试的录制用例,请在过期前将其固化。固化会把完整的录制链路(包括入口请求和录制时的依赖调用)复制到固化用例库中。固化副本会一直保留,直到您将其删除。

创建回放计划时选中的固化用例组成一个测试集。原始录制数据即使已经超出普通时间窗口,固化用例仍然可以回放。

什么时候固化用例

以下用例适合固化:

  • 必须持续验证的结算或预订流程;
  • 希望在测试环境中复现的生产回归问题;
  • 难以手工构造、但具有代表性的 API 用例。

目前固化操作在工作台中完成。sp CLI 可以发起和查看回放计划,但不能创建或管理固化用例测试集。

工作台录制列表

录制列表会先按 API 展示当前的录制情况,然后您可以打开一条链路并将其固化。

固化一条录制用例

  1. 工作台中打开应用。
  2. 从回放结果或录制链路详情中打开一条用例。
  3. 选择 Pin(固化)
  4. 可选填写名称和备注,然后再次选择 Pin(固化)
  5. 选择 View case(查看用例),或稍后打开 Recording → Pinned cases(录制 → 固化用例)

工作台固化对话框

固化对话框会显示源链路及其下游调用;固化副本的保留期为 Forever(永久)

名称和备注可以帮助您在建立测试集时识别用例。如果用例已经固化,重复操作不会产生副本:同一条固化用例仍然只有一份。

请在录制过期前固化

如果源录制已经过期,工作台会显示 Recording past retention(录制已超过保留期),无法再复制。固化不能恢复已过期的录制。

查看固化用例

打开 Recording → Pinned cases(录制 → 固化用例) 查看永久用例库。您可以:

  • 按用例名称或 API 搜索;
  • 打开用例详情;
  • 单独回放一条固化用例;
  • 删除不再需要的固化用例。

列表中可能同时包含您手动固化的用例和系统自动固化的用例。如果要维护一个经过筛选的回归测试集,请先检查列表。删除固化用例会将其从用例库中移除。

固化用例库

固化用例库会继续保存该链路,即使滚动录制已经超出普通保留窗口。

创建并运行测试集

  1. 打开 Replay(回放) 标签页,选择 New plan(新建计划)
  2. 选择回放目标环境,即接收录制入口请求的测试服务。
  3. 在回放范围中选择 Pinned cases(固化用例)
  4. 选择测试集中的用例。默认会选中所有可用的固化用例;您可以搜索、全选或取消选择单条用例。
  5. 创建计划,等待运行结束,然后查看结果和差异。

本次回放计划中选中的固化用例就是该测试集。之后可以用不同的选择创建另一份计划,不会修改固化用例库。

为回放计划选择固化用例

选择 Pinned cases(固化用例),再勾选要作为本次测试集的永久用例。

只对非生产环境回放

回放会向目标环境发送真实入口请求。虽然下游调用使用录制数据 Mock,但被测应用仍会执行入口业务逻辑。请使用测试或预发环境作为目标,并在回放机上关闭录制或将采样调到最低。详见回放与对比

重要的生命周期说明

固化用例独立于源录制

固化会创建完整链路的永久副本,不会延长源录制的保留期,也不会修改原始录制。除非删除,固化副本会一直可用。

API 变更可能导致用例不可用

固化用例会根据当前应用配置进行回放。如果固化后 API 被删除或重命名,工作台会将用例标记为 API gone(API 已不存在),并在计划中跳过它。如果仍需要该用例,请恢复 API 配置;否则将其从测试集中移除。

一条链路对应一条固化用例

一条录制链路可以包含入口请求和多次下游交互。固化会保留这条完整链路作为一条用例,不会按依赖调用拆成多条用例。再次固化同一条链路也不会新增副本。

相关流程

零代码改动 · 全上下文可见性 · 成本优化