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