一套 Agent Skills 测试工具集,用于在 AI 辅助下完成软件测试工作。兼容 Claude Code、Cursor、Trae 等支持 SKILL.md 的 AI 编码助手。
从需求分析到测试用例生成的完整流程。
testspec-new → testspec-update(可选/可重复) → testspec-analysis → testspec-points → testspec-generate → testspec-review → testspec-publish
创建变更 需求源口径收敛 需求深度分析 提炼测试要点 生成测试用例 用例评审 用例入库(可选)
| Skill | 说明 |
|---|---|
| testspec-new | 新建测试工作,创建变更目录和测试提案(proposal.md) |
| testspec-update | 已有变更的 PRD/API/UI/产品回答口径收敛,更新 requirements.md 并标记旧下游产物 |
| testspec-analysis | 需求深度分析,识别测试风险和边界,产出 requirements-analysis.md。自动检索 testlib 已有覆盖 |
| testspec-points | 从分析结论中提炼测试点清单(specs/testpoints.md) |
| testspec-generate | 根据测试点生成完整测试用例,导出 Excel(.xlsx)或 XMind(.xmind) |
| testspec-review | 用例评审,对生成的测试用例做交叉验证,产出评审报告(review-report.md) |
| testspec-publish | 将评审通过的用例发布到 testlib 知识库,按模块/功能自动分类、增量合并 |
根据 API 接口文档(OpenAPI/Swagger 或 Markdown 格式)自动生成 Apache JMeter 的 JMX 测试脚本。
- 支持 OpenAPI 3.0 / Swagger 2.0(YAML/JSON)
- 支持 Markdown 格式的 API 文档(多种常见格式)
- 生成包含 HTTP 请求、参数、断言的完整测试计划
将混杂的服务端日志拆解为可读的链路视图,还原请求/任务的完整生命周期,识别异常和性能瓶颈,产出结构化分析报告。
- 支持应用日志、慢查询日志、Nginx access log、Kafka 消费日志、定时任务日志等
- 按 traceId / 线程自动拆分链路,还原请求时间线
- 提供 grep 深挖命令辅助继续排查
评估 SQL SELECT 查询是否存在炸库风险(全表扫描、大范围扫描、排序/临时表开销),给出改写方案。
- 结论先行:第一行给出风险等级和能不能跑的结论
- 引导通过 EXPLAIN 和表结构做精确诊断
- 缺少信息时默认保守,按中高风险处理
测试团队专用的 Android APK 静态逆向分析工具,用于接口发现、客户端安全评估和兼容性验证等测试场景。本工具是 TestKit 测试工具集的一部分,仅执行纯静态分析,不涉及任何绕过、破解或运行时攻击行为。
- 支持 ADB 导出安装包(自动处理 split APK)
- 支持 JADX、apktool、dex2jar + Vineflower 多引擎反编译
- APKiD 加固/保护检测,apkleaks 接口/密钥泄露扫描
- 自动识别 Retrofit/OkHttp/Volley/WebView 等网络栈并提取 API 端点
- 产出覆盖度和置信度标注的结构化分析报告
⚠️ 合规声明:本工具属于测试工具集,仅限在授权范围内用于安全测试、质量验证和接口发现。严禁用于非法逆向、破解、绕过付费/授权机制或侵犯知识产权等行为。使用者须确保已获得被测应用的合法测试授权。
从接口扫描到测试执行的完整 API 自动化测试链路,5 个 skill 按"最早缺失产物优先"路由。
apitestspec-surface-scan → apitestspec-composer → apitestspec-flow-configurator → apitestspec-scenario-runner → apitestspec-result-viewer
源码扫描接口 文档转可执行 spec 配置前置 flow 执行测试 查看报告
| Skill | 说明 |
|---|---|
| apitestspec-surface-scan | 扫描后端源码发现 HTTP API,输出 Markdown/JSON 接口清单 |
| apitestspec-composer | 将接口文档/OpenAPI 转成框架原生 API spec(YAML/JSON),按需导出 Excel/CSV |
| apitestspec-flow-configurator | 配置登录、token、tenant 等前置 flow 和项目级默认请求配置 |
| apitestspec-scenario-runner | 执行已有 API spec,产出 pass/fail、Allure 和结构化 JSON 结果 |
| apitestspec-result-viewer | 消费已有测试产物,生成/打开 Allure 报告 |
本仓库现在包含 Codex 插件 manifest:
.codex-plugin/plugin.json— 单插件仓库入口,直接引用./skills/.agents/plugins/marketplace.json— 本地 marketplace 示例,指向./plugins/testkitplugins/testkit/— marketplace 入口目录,通过符号链接复用根目录的 manifest、skills 和 assets,避免维护两份技能内容
本地验证:
python scripts/test_all.py/plugin marketplace add winhok/testkit
/plugin install testkit
安装后重启 Claude Code 加载新 skills。
通过 Settings UI:
- 打开 Settings(
Cmd+Shift+J/Ctrl+Shift+J) - 进入 Rules → Add Rule → Remote Rule (GitHub)
- 输入:
https://github.com/winhok/testkit.git
- 打开 Settings → Rules & Skills
- 导入本仓库中
skills/下各目录的SKILL.md文件
# Claude Code
git clone git@github.com:winhok/testkit.git .claude/skills/testkit
# Cursor
git clone git@github.com:winhok/testkit.git .cursor/skills/testkit
# Trae
git clone git@github.com:winhok/testkit.git .trae/skills/testkitpip install -r requirements.txt或按需单独安装:
# testspec 生成 Excel 格式用例 / apitestspec 导入导出 Excel
pip install openpyxl
# api2jmx 解析 YAML 格式 OpenAPI 文档 / apitestspec 加载配置
pip install pyyaml
# apitestspec 执行 HTTP 请求
pip install requests
# apitestspec 生成 Allure 报告(需单独安装 Allure CLI)
pip install allure-pytest# 全量稳定检查:插件包装、契约校验、脚本单测
python scripts/test_all.py
# 只检查 Codex 插件包装
python scripts/test_all.py --only packaging
# 只检查 testspec 跨 skill 契约
python scripts/test_all.py --only contracts
# 只跑当前可稳定执行的脚本单测
python scripts/test_all.py --only unittestspec-publish 负责把评审通过的用例入库;下面两个脚本用于后续维护 testspec/testlib/,不会替代发布流程。
# 只读校验 testlib 健康度,输出 JSON 报告
python skills/_testspec-shared/scripts/validate_testlib.py --testlib testspec/testlib
# 从 modules/*/*.json 重建 index.json 和 .testlib.json
python skills/_testspec-shared/scripts/rebuild_testlib_index.py --testlib testspec/testlibtestspec-new 用户登录
testspec-update
testspec-analysis
testspec-points
testspec-generate Excel
testspec-generate XMind
testspec-review
testspec-review --deep
testspec-publish
testspec-publish 会将评审通过的用例自动分类到 testlib/modules/<模块>/<功能>.json,生成 changelog,更新统计。建议配合独立的测试知识库 Git 仓库使用。
api2jmx openapi.yaml
api2jmx api_doc.md
# 直接粘贴日志文本让 AI 分析
# 或提供日志文件路径
分析一下 /data/services/app/logs/app.log 最近的报错
这段日志帮我看看为什么接口超时
# 贴一条 SELECT 语句
这条 SQL 能不能在生产跑?
SELECT * FROM orders WHERE status = 1
# 从手机导出并反编译指定应用
帮我把手机上的 com.example.app 导出来反编译
# 分析本地 APK 文件
逆向分析一下 /tmp/sample.apk
# 提取接口端点
帮我提取这个 APK 里的 API 接口
# 检测加固
看看这个应用有没有加固
# 扫描源码接口
帮我扫描一下 src/main/java 里的接口
# 从接口文档生成可执行 spec
根据这份 API 文档生成测试用例
# 配置前置 flow
帮我配一下登录 flow 和 token 提取
# 执行测试(CLI)
python skills/apitestspec-scenario-runner/scripts/run_tests.py --project my_project/project.yaml
# 执行测试(pytest + Allure)
cd skills/apitestspec-scenario-runner/scripts && pytest test_api.py --project my_project/project.yaml --alluredir=allure-results
# 查看报告
帮我看看这次测试结果
testspec/
├── .codex-plugin/plugin.json # Codex 插件 manifest
├── .agents/plugins/marketplace.json # Codex 本地 marketplace 示例
├── assets/ # 插件展示资产
├── plugins/testkit/ # marketplace 指向的插件入口(复用根目录内容)
├── scripts/test_all.py # 仓库级验证入口
├── skills/ # 所有 AI Skills
│ ├── testspec-new/ # 测试用例设计流程
│ ├── testspec-update/ # 需求源口径收敛
│ ├── testspec-analysis/
│ ├── testspec-points/
│ ├── testspec-generate/
│ ├── testspec-review/
│ ├── testspec-publish/ # 用例入库到知识库
│ ├── _testspec-shared/ # testspec 共享协议与契约
│ ├── api2jmx/ # API 文档转 JMX
│ ├── log-analysis/ # 日志分析
│ ├── sql-safety-review/ # SQL 安全评估
│ ├── android-static-app-reverse/ # Android 静态逆向分析(测试工具)
│ ├── apitestspec-surface-scan/ # API 自动化:源码扫描
│ ├── apitestspec-composer/ # API 自动化:文档转 spec
│ │ └── scripts/ # bootstrap, excel/csv 导出
│ ├── apitestspec-flow-configurator/ # API 自动化:前置 flow
│ │ └── scripts/ # bootstrap_flow
│ ├── apitestspec-scenario-runner/ # API 自动化:执行引擎
│ │ └── scripts/ # engine, loaders, pytest adapter
│ ├── apitestspec-result-viewer/ # API 自动化:报告查看
│ │ └── scripts/ # serve_report
│ └── apitestspec-shared/ # API 自动化:共享参考文档
│ └── references/ # spec-format.md, example-project.md
└── README.md
MIT