File contents QA 测试用例生成 Skill
测试用例生成与规则维护,落在仓库里,不依赖用户粘贴 Prompt。
🎯 核心能力
能力
触发指令
输出
生成测试用例
@<需求文档> 生成测试用例
结构化用例表格 + 自动落盘
📂 目录结构
docs/qa/
├── SKILL.md # 本文件
├── qa-rules.md # 用例生成规则(唯一事实来源)
├── rules/ # 模块测试规则
│ └── transfer-chain-rules.md
├── requirements/ # 需求文档
└── testcases/cases/ # 测试用例输出(按模块分类)
├── account/
├── wallet/
├── perps/
└── ...
🚀 使用方法
生成测试用例
输入 :需求文档(.doc / .md)或直接描述需求
指令 :
@<需求文档> 生成测试用例
输出 :
聊天窗口:完整用例(封装在 markdown 代码块中,便于一键复制)
自动落盘:docs/qa/testcases/cases/<模块目录>/YYYY-MM-DD_<模块>-<主题>.md
示例 :
@Perps 限价单最优价格需求.doc 生成测试用例
📋 用例输出规范
格式声明
输出格式 :标准 Markdown(.md)
换行符 :表格内多行使用 <br> 标签
适用平台 :Markdown Preview Enhanced、GitHub、GitLab、Notion、Jira、飞书
结构
# <模块> - <测试主题>
> 生成时间:YYYY-MM-DD
## 测试场景列表
### 1. 场景名称
| 优先级 | 场景 | 操作步骤 | 预期结果 |
| --- | --- | --- | --- |
| P0 | ... | ... | ... |
### 2. 场景名称
...
优先级定义
优先级
覆盖范围
P0
资金 / 安全 / 风控 / 主流程 / 状态切换
P1
配置 / UI / 非主路径
P2
低频 / 文案 / 容错
输出硬性约束
禁止输出"模块感知分析/内部推理过程"(只做不说)
按 docs/qa/qa-rules.md 的结构输出
表格单元格内多行内容使用 <br> 标签分隔
禁止使用"正常 / 符合预期 / 展示正确"等不可断言表达
禁止渲染超链接样式
🔧 规则维护
公共定位参考层
生成自动化测试或补充可执行步骤时,优先参考:
shared/ui-semantic-map.json — 公共语义定位层
shared/generated/app-monorepo-testid-index.json — app-monorepo 原始 testID 索引
shared/ui-map.json — 当前执行层 selector 映射
原则:
新生成脚本优先引用语义元素,而不是到处散写原始 selector
当前阶段不要批量改历史用例;以新增参考、增量迁移为主
如需同步 app-monorepo 最新 testID,运行:node scripts/sync-app-monorepo-selectors.mjs
默认从 app-monorepo 的 origin/x(若不存在则本地 x)读取;只有 ref 不存在时才回退当前 working tree
生成脚本、录制分析与新增步骤设计时,默认优先输出 semantic_element,避免散写原始 selector
规则文档组织原则
核心规则 :docs/qa/qa-rules.md
模块专项规则 :docs/qa/rules/ 目录
按模块拆分专项规则文档
例如:transfer-chain-rules.md(转账链规则)
需求文档 :docs/qa/requirements/ 目录
规则更新流程
当引入新需求/新规则时:
通用规则 :更新 docs/qa/qa-rules.md
模块专项规则 :更新或创建 docs/qa/rules/<module>-rules.md
需求文档 :新增或更新 docs/qa/requirements/<topic>.md
生成用例时 :自动引用相关规则文档
📚 规则文档索引
文档
用途
docs/qa/qa-rules.md
用例生成规则(唯一事实来源)
docs/qa/rules/transfer-chain-rules.md
转账链规则
docs/qa/rules/<module>-rules.md
模块专项规则
docs/qa/requirements/<topic>.md
需求文档
🏷️ 支持的业务模块
模块
目录
包含功能
账户模型
account/
硬件/软件钱包、观察/外部账户、密钥派生
Wallet
wallet/
转账、首页、Token、历史、NFT、法币、授权
Swap
swap/
兑换、路由、滑点
Market
market/
行情、价格、图表
Perps
perps/
合约、保证金、强平、资金费率
Prime
prime/
Prime 功能
返佣
referral/
返佣、推荐奖励
DeFi
defi/
Lending、LP、Stake、Earn
Browser
browser/
DApp 授权、签名
通用业务
utility/
设置、地址簿、通知
HW & App
hardware/
硬件转账、设备管理
1 --- 2 name: qa 3 description: QA 测试用例生成 Skill 4 --- 5 # QA 测试用例生成 Skill 6 7 > 测试用例生成与规则维护,落在仓库里,不依赖用户粘贴 Prompt。 8 9 --- 10 11 ## 🎯 核心能力 12 13 | 能力 | 触发指令 | 输出 | 14 | --- | --- | --- | 15 | 生成测试用例 | `@<需求文档> 生成测试用例` | 结构化用例表格 + 自动落盘 | 16 17 --- 18 19 ## 📂 目录结构 20 21 ``` 22 docs/qa/ 23 ├── SKILL.md # 本文件 24 ├── qa-rules.md # 用例生成规则(唯一事实来源) 25 ├── rules/ # 模块测试规则 26 │ └── transfer-chain-rules.md 27 ├── requirements/ # 需求文档 28 └── testcases/cases/ # 测试用例输出(按模块分类) 29 ├── account/ 30 ├── wallet/ 31 ├── perps/ 32 └── ... 33 ``` 34 35 --- 36 37 ## 🚀 使用方法 38 39 ### 生成测试用例 40 41 **输入**:需求文档(`.doc` / `.md`)或直接描述需求 42 43 **指令**: 44 ``` 45 @<需求文档> 生成测试用例 46 ``` 47 48 **输出**: 49 - 聊天窗口:完整用例(封装在 `markdown` 代码块中,便于一键复制) 50 - 自动落盘:`docs/qa/testcases/cases/<模块目录>/YYYY-MM-DD_<模块>-<主题>.md` 51 52 **示例**: 53 ``` 54 @Perps 限价单最优价格需求.doc 生成测试用例 55 ``` 56 57 --- 58 59 ## 📋 用例输出规范 60 61 ### 格式声明 62 - **输出格式**:标准 Markdown(`.md`) 63 - **换行符**:表格内多行使用 `<br>` 标签 64 - **适用平台**:Markdown Preview Enhanced、GitHub、GitLab、Notion、Jira、飞书 65 66 ### 结构 67 ``` 68 # <模块> - <测试主题> 69 > 生成时间:YYYY-MM-DD 70 71 ## 测试场景列表 72 73 ### 1. 场景名称 74 | 优先级 | 场景 | 操作步骤 | 预期结果 | 75 | --- | --- | --- | --- | 76 | P0 | ... | ... | ... | 77 78 ### 2. 场景名称 79 ... 80 ``` 81 82 ### 优先级定义 83 | 优先级 | 覆盖范围 | 84 | --- | --- | 85 | P0 | 资金 / 安全 / 风控 / 主流程 / 状态切换 | 86 | P1 | 配置 / UI / 非主路径 | 87 | P2 | 低频 / 文案 / 容错 | 88 89 ### 输出硬性约束 90 - 禁止输出"模块感知分析/内部推理过程"(只做不说) 91 - 按 `docs/qa/qa-rules.md` 的结构输出 92 - 表格单元格内多行内容使用 `<br>` 标签分隔 93 - 禁止使用"正常 / 符合预期 / 展示正确"等不可断言表达 94 - 禁止渲染超链接样式 95 96 --- 97 98 ## 🔧 规则维护 99 100 ### 公共定位参考层 101 102 生成自动化测试或补充可执行步骤时,优先参考: 103 104 1. `shared/ui-semantic-map.json` — 公共语义定位层 105 2. `shared/generated/app-monorepo-testid-index.json` — app-monorepo 原始 testID 索引 106 3. `shared/ui-map.json` — 当前执行层 selector 映射 107 108 原则: 109 - 新生成脚本优先引用语义元素,而不是到处散写原始 selector 110 - 当前阶段不要批量改历史用例;以新增参考、增量迁移为主 111 - 如需同步 app-monorepo 最新 testID,运行:`node scripts/sync-app-monorepo-selectors.mjs` 112 - 默认从 app-monorepo 的 `origin/x`(若不存在则本地 `x`)读取;只有 ref 不存在时才回退当前 working tree 113 - 生成脚本、录制分析与新增步骤设计时,默认优先输出 `semantic_element`,避免散写原始 selector 114 115 116 ### 规则文档组织原则 117 118 1. **核心规则**:`docs/qa/qa-rules.md` 119 - 用例生成通用规则 120 - 模块垂直深度映射 121 - 输出格式要求 122 123 2. **模块专项规则**:`docs/qa/rules/` 目录 124 - 按模块拆分专项规则文档 125 - 例如:`transfer-chain-rules.md`(转账链规则) 126 127 3. **需求文档**:`docs/qa/requirements/` 目录 128 - 具体功能需求文档 129 - 包含业务规则和测试要点 130 131 ### 规则更新流程 132 133 当引入新需求/新规则时: 134 1. **通用规则**:更新 `docs/qa/qa-rules.md` 135 2. **模块专项规则**:更新或创建 `docs/qa/rules/<module>-rules.md` 136 3. **需求文档**:新增或更新 `docs/qa/requirements/<topic>.md` 137 4. **生成用例时**:自动引用相关规则文档 138 139 --- 140 141 ## 📚 规则文档索引 142 143 | 文档 | 用途 | 144 | --- | --- | 145 | `docs/qa/qa-rules.md` | 用例生成规则(唯一事实来源) | 146 | `docs/qa/rules/transfer-chain-rules.md` | 转账链规则 | 147 | `docs/qa/rules/<module>-rules.md` | 模块专项规则 | 148 | `docs/qa/requirements/<topic>.md` | 需求文档 | 149 150 --- 151 152 ## 🏷️ 支持的业务模块 153 154 | 模块 | 目录 | 包含功能 | 155 |-----|------|---------| 156 | 账户模型 | `account/` | 硬件/软件钱包、观察/外部账户、密钥派生 | 157 | Wallet | `wallet/` | 转账、首页、Token、历史、NFT、法币、授权 | 158 | Swap | `swap/` | 兑换、路由、滑点 | 159 | Market | `market/` | 行情、价格、图表 | 160 | Perps | `perps/` | 合约、保证金、强平、资金费率 | 161 | Prime | `prime/` | Prime 功能 | 162 | 返佣 | `referral/` | 返佣、推荐奖励 | 163 | DeFi | `defi/` | Lending、LP、Stake、Earn | 164 | Browser | `browser/` | DApp 授权、签名 | 165 | 通用业务 | `utility/` | 设置、地址簿、通知 | 166 | HW & App | `hardware/` | 硬件转账、设备管理 |
onekeyhq/qa-agents/tree/main/docs/qa commit 2c4b983830
Frequently asked questions How do I install the QA skill? Run npx skillmds@latest add onekeyhq/qa in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the QA skill do? QA 测试用例生成 Skill It is listed under Coding & Dev Tools on SkillMD.
Is QA safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with QA? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is QA free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published QA? onekeyhq (@onekeyhq) published this skill. Their other Agent Skills are listed on their SkillMD profile.