software-test-planlisted
Install: claude install-skill hccnm/software-testing
# Software Test Plan
用于 Cursor `/software-test-plan`。负责在项目唯一目录 `docs/test-cases/` 编写或增量维护用例;不执行测试、不生成通过结论。
1. 读取需求、原型、业务规则、Issue、源码、接口契约、配置和已有测试设施,先建立功能级 `coverage_obligations`,再写最小充分用例集。
2. 每条用例必须映射覆盖义务,声明风险依据、唯一通过/失败判据、必需证据和真实 runner;禁止用例数量代替覆盖证明。
3. 文件上传、带状态的 Web UI、关联/绑定功能必须完成对应风险矩阵;缺规则时标记需求阻塞,不写可接受多种结果的断言。
4. 合并能共享前置条件和同一判定机制的场景;重复步骤与断言会被校验器拒绝。相同稳定 ID 仅在用户明确要求时更新。
5. 首次大规模生成时,先将模块和功能写入临时 scaffold 清单,批量建骨架并延迟渲染;再批量填写用例。不要逐功能 scaffold 后反复全量渲染。
6. 完成后执行 `validate --collect-all`、`audit-quality --collect-all`、`freeze`。先一次修复所有报告的问题;冻结状态在界面显示“已冻结 · 可执行”。
```bash
python3 <skill-dir>/scripts/yaml_plan.py create [--project-root <path>]
python3 <skill-dir>/scripts/yaml_plan.py scaffold-function --module <id> --module-name <中文名> --function <id> --function-name <中文名> [--no-render] [--project-root <path>]
python3 <skill-dir>/scripts/yaml_plan.py scaffold-function --manifest <scaffold.yaml> [--no-render] [--project-root <path>]
python3 <skill-dir>/scripts/yaml_plan.py merge <incoming-test-cases-root> [--allow-update <case-id>] [--project-root <path>]
python3 <skill-dir>/scripts/yaml_plan.py validate --collect-all [--project-root <path>]
python3 <skill-dir>/scripts/yaml_plan.py audit-quality --collect-all [--project-root <path>]
python3 <skill-dir>/scripts/yaml_plan.py freeze [--project-root <path>]
```
`--no-render` 只允许首次冻结前且没有运行记录的中心;冻结过的中心必须同步重建 HTML。读取 `references/yaml-test-data-contract.md` 与 `references/plan-authoring-rules.md`。YAML 是唯一规范数据;`docs/test-cases/index.html` 是唯一人工入口