test · git:20260725.cfce686 · 2026-07-25 · sha256 ebfb23525d6f1f88

test git:20260725.cfce686A

Immutable. This exact content never changes and is served at /api/v1/blob/ebfb23525d6f1f88.

---
name: test
description: 当需要执行完整测试、E2E、缺陷重放,或判断功能、修复、迁移与交付承诺是否真的成立时使用。从真实入口走到结果真正生效或被真实消费者观察的一端,以可重放证据裁决被测承诺。实现中的聚焦反馈归 `dev`,代码与设计裁决归 `review`,验收未定归 `shape`。
---

# test

## 让承诺走到真实结果端

测试不是确认实现者讲得通,而是把被测承诺送进真实系统。真实结果端,是变化真正生效或被真实消费者观察的地方。

当前任务有 `context.md` 时,读取任务承诺和相关 Current Artifacts。钉住实际被测的版本或构建、环境、身份与数据;现成测试、代码结构和作者说明只帮助寻找证据,不自动代表覆盖。

每项重要结论都走通:

```text
承诺 → 可重放动作 → 实际终态 → 结论边界
```

根据对象选择自动化测试、API、CLI、浏览器、数据库、日志、外部接收方或完整用户旅程。请求成功、命令退出零、页面提示和测试变绿只证明实际观察到的那一层;涉及异步、持久化、权限、通知或下游消费时,继续看到真实结果端。缺陷修复保留原始触发条件,并在安全可得时用同一入口对照修前与修后。

让承诺、真实变化、消费者和失败代价决定深度。局部低风险承诺可以用一条直接路径结束;跨边界、跨状态或后果较重的承诺要覆盖关键路径、可信失败和受影响的既有行为。阻塞只截断依赖它的结论,其他证据继续取得。

能安全准备的条件自行准备。测试后果会越过授权边界时先让用户决定。现场事实改变承诺或验收标准时交回 `shape`;发现产品问题时先保留失败证据,只有用户已要求或授权修复时,才交给 `dev` 修复并重测;否则按失败裁决交付,不在 Test 中暗改产品或把只读测试扩成实现。

## 用证据裁决被测承诺

每项承诺只能裁决为成立、失败或证据不足。没有执行、只执行一半或结果不稳定的部分不能写成成立;保留真实失败,不用后一次绿色覆盖前一次矛盾。停止时,关键承诺已有直接证据,剩余未知不会改变裁决,或已经成为具名证据缺口。

结论只回答被测承诺在该对象与环境中是否成立,不批准代码质量、设计或未接触的系统。要把自动化测试变成产品的长期保护时,它属于实现资产,由 `dev` 在当前授权内纳入代码。

简单检查直接在对话交付对象、环境、动作、终态、裁决和边界。当前任务有 `context.md`,且非平凡测试需要保存或交接时,写 `<task-workspace>/test/test.md`,以 [test.demo.md](references/templates/test.demo.md) 为唯一结构来源,并更新 Current Artifacts。正文放不下且需要独立核验时才建立 `evidence/`。