case-migrate
将外部/历史/公司测试平台用例迁移为 AITest Markdown suite 用例,并保留语义追溯、阻塞分类和人工 review 清单
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
将外部/历史/公司测试平台用例迁移为 AITest Markdown suite 用例,并保留语义追溯、阻塞分类和人工 review 清单
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
从 target-aware case suite、task manifest 或 target/module/all selector 生成 pytest,执行 profile gate、Case IR、freshness check,并处理少量 UNPARSED 补写
构建模块级 fixture/module profile 或用例级 suite profile,把 Markdown 用例接入 test-codegen 管线
从已验证 pytest、Case IR 和 profile 中识别可沉淀模式,评估是否晋升为 assertion_rules、case_flows、fixture helper 或 emitter 规则
基于测试知识库和测试规范,为指定模块或需求 suite 生成 Markdown 用例和 mismatch 记录
测试资产维护分诊台:诊断项目当前状态,定位管线断裂层,路由到正确的 skill 或 CLI 命令
从源码和现有文档生成面向测试的设计文档,补全知识库构建所需的输入
| name | case-migrate |
| description | 将外部/历史/公司测试平台用例迁移为 AITest Markdown suite 用例,并保留语义追溯、阻塞分类和人工 review 清单 |
| when_to_use | 当用户已有旧格式测试用例(Excel/CSV/Markdown/Word 导出/测试平台导出/自由文本),需要转换为 AITest Markdown 用例时 |
| argument-hint | <source_cases> <target> <module> [suite_dir] |
| arguments | ["source_cases","target","module","suite_dir"] |
| user-invocable | true |
| allowed-tools | Read Glob Grep Write Edit Bash |
| effort | high |
把 $source_cases 中的外部/历史测试用例迁移为 AITest Markdown suite 用例。输出目录为 $suite_dir;未指定时,建议使用 test_workspace/suites/{target}/{suite}/,并由用户确认 suite 名称。
外部旧用例
↓
case-migrate ← 本 skill
↓
AITest Markdown suite + 迁移报告
↓
人工 review
↓
test-scaffold / test-codegen
本 skill 只负责“旧用例 → 标准 Markdown 用例”的语义迁移,不生成 pytest,不写 fixture/profile,不修改 generated,不修改待测系统。
test-scaffold / test-codegen。优先读取用户指定的 $source_cases。支持常见形态:
同时读取必要的 AITest 上下文:
aitest_config/aitest.yaml:workspace 路径和 codegen 规则aitest_config/refs/case-format.md:目标 Markdown 格式test_workspace/knowledge/ 中与 $target/$module 相关的 L1/L2 文档(存在时)禁止读取或写入:
test_workspace/generated/.env 或本地密钥文件先判断旧用例字段和结构,不直接转换。
输出字段映射草案:
| 原始字段 | AITest 归属 | 说明 |
|---|---|---|
| 用例编号 | 来源用例 / TC-ID 映射 | 保留原始编号 |
| 用例标题 | 标题 | 必须保留原意 |
| 前置条件 | 标准前置 / 测试资源 / 可行性存疑 | 拆分 env、resource、state |
| 操作步骤 | 场景变量 / 流程 | 不直接写成断言 |
| 测试数据 | 请求覆盖 / variables / 待确认项 | 敏感值必须脱敏 |
| 预期结果 | 断言 / 待确认项 | 不明确则标 [?] |
| 自动化状态 | 标记 | manual / skipped / 可行性存疑 |
| 备注/链接/负责人 | 迁移报告 | 默认不进入核心用例正文 |
如果字段含义不确定,先在迁移报告里标记,不猜。
迁移前确认这些上下文;缺失时列入“待确认项”:
targetmodulesuite每条旧用例必须分到一个主状态,可附加多个原因标签:
| 状态 | 含义 | 处理 |
|---|---|---|
OK | 语义清楚,可迁移为 AITest Markdown | 写入 Markdown |
NEEDS_REVIEW | 基本可迁移,但有少量待确认 | 写入 Markdown 并标 [?] |
NEEDS_SCAFFOLD | 用例清楚,但需要 fixture/helper/profile 能力 | 写入 Markdown 并标 [!可行性存疑] |
NEEDS_DATA | 缺测试账号、token、API key、余额、分组、Redis/DB 状态等资源 | 写入 Markdown 并标资源需求 |
AMBIGUOUS_EXPECTATION | 预期结果模糊,如“正确/正常/成功/失败” | 不补确定断言,标 [?预期不明确] |
AMBIGUOUS_ACTION | 操作步骤不清楚,不知道应调用什么接口或观察什么状态 | 标待确认 |
ORDER_DEPENDENT | 依赖其他旧用例执行结果 | 建议改为独立流程或人工确认 |
MANUAL | 人工观察、审批、验证码、视觉判断等 | 写入 manual 用例 |
UNSUPPORTED | 当前 AITest 能力暂不支持 | 记录,不强行迁移为自动化 |
CONTRACT_CONFLICT | 与知识库/接口文档/当前规范冲突 | 记录冲突,等待裁决 |
SECURITY_REDACTED | 原用例含敏感值 | 脱敏并记录替代变量名 |
按 aitest_config/refs/case-format.md 生成 Markdown。每条迁移用例必须保留来源:
### TC-XXX-001:用例标题
- **来源用例**:`OLD-CASE-ID`
- **迁移状态**:OK
- **优先级**:P0
- **场景变量**:
- 接口:`POST /api/example`
- 请求覆盖:`{"field":"value"}`
- **断言**:`response.code == 0`
如果旧预期不明确:
- **断言**:访问失败;错误语义表示无权限
- **待确认**:[?预期不明确: 原用例未说明具体 HTTP 状态码、业务错误码或响应字段]
如果需要测试资源或 fixture 能力:
- **标记**:[!可行性存疑: 需要 low_balance_user 测试资源和余额查询能力]
- **场景变量**:
- 测试资源:`low_balance_user`
- 前置状态:用户余额不足
如果是 manual:
- **标记**:manual
- **说明**:原用例依赖人工视觉确认,当前不进入默认自动化执行
必须生成迁移报告,建议路径:
test_workspace/reports/case_migration/{suite}_migration_report.md
报告包含:
# 用例迁移报告
## 输入
- 原始用例:...
- 目标 target:...
- 目标 module:...
- 目标 suite:...
## 汇总
| 状态 | 数量 |
|---|---:|
| OK | 0 |
| NEEDS_REVIEW | 0 |
| NEEDS_SCAFFOLD | 0 |
| NEEDS_DATA | 0 |
| AMBIGUOUS_EXPECTATION | 0 |
| AMBIGUOUS_ACTION | 0 |
| ORDER_DEPENDENT | 0 |
| MANUAL | 0 |
| UNSUPPORTED | 0 |
| CONTRACT_CONFLICT | 0 |
| SECURITY_REDACTED | 0 |
## 字段映射
| 原始字段 | AITest 归属 | 说明 |
|---|---|---|
## 用例映射
| 来源用例 | 新 TC-ID | 状态 | 说明 |
|---|---|---|---|
## 信息保留说明
- 已迁移到 Markdown 的信息:
- 仅保留在报告中的信息:
- 已脱敏的信息:
- 无法确认的信息:
## 待确认项
- ...
## 未迁移/不自动化项
| 来源用例 | 原因 | 建议 |
|---|---|---|
报告必须能回答:是否有旧用例被丢弃、是否有断言被 AI 补写、哪些信息只保留在报告中。
逐条检查旧用例中的信息,按以下归属处理:
CONTRACT_CONFLICT禁止静默删除字段。确实不迁移到 Markdown 时,必须在报告中说明原因。
以下情况必须标 [?] 或阻塞分类,不能脑补:
[?]、[!可行性存疑]、manual、unsupported、contract conflict 已汇总完成后向用户输出:
## 用例迁移摘要
来源:$source_cases
目标:$target / $module
输出 suite:$suite_dir
### 生成文件
| 文件 | 说明 |
|---|---|
### 状态汇总
| 状态 | 数量 |
|---|---:|
### 高风险迁移点
- 原预期不明确:
- 原前置不完整:
- 依赖执行顺序:
- 含敏感值并已脱敏:
- 与知识库冲突:
### 下一步
1. 人工 review Markdown 和迁移报告
2. 确认待确认项
3. 通过后进入 test-scaffold / test-codegen