关于 qa-systematic
qa-systematic 是用于系统化测试 Web 应用的技能,提供完整、快速和回归模式。它会检测可用的浏览器自动化方式,检查页面与关键路径,并生成包含严重性、证据及适用时加权健康评分的问题报告。
主要功能
- 01完整、快速和回归模式
- 02检测浏览器自动化方式
- 03逐页测试检查清单
- 04问题分类与证据记录
- 05健康评分与基线保存
适用场景
- 01发布前测试 Web 应用
- 02快速检查登录和主要路径
- 03将构建版本与保存的基线比较
- 04根据记录的问题安排修复优先级
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mathews-tom/ armory --skill qa-systematic安装后在 Claude Code 中输入/qa-systematic确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/cases.yamlreferences/issue-taxonomy.mdproject-detection.mdreport-template.md详细介绍
系统化 QA 测试
模式
完整(默认)
逐页系统化测试、8 类健康评分、完整的问题记录。
快速
用 30 秒对关键路径进行冒烟测试:登录、主导航、主要操作。
回归
将当前状态与已保存的基线进行比较,报告新增和已解决的问题。
浏览器自动化检测
按以下优先级检测可用的自动化方式:
- Playwright MCP server — 检查当前工具列表中是否有 Playwright 工具
agent-browserskill — 检查是否已加载 agent-browser skill- 直接 CLI 工具 — 检查 PATH 中是否有
playwright、puppeteer或cypress二进制文件 - 手动回退方案 — 请用户进行导航并报告观察结果
使用优先级最高的可用方式。在报告开头说明正在使用哪种方式。
工作流
阶段 1:初始化
- 根据用户提示检测模式。若未指定,默认为完整。
- 检测应用 URL:
- 检查
references/project-detection.md,了解框架的端口约定(例如,Next.js → 3000、Vite → 5173、Django → 8000)。 - 如果无法检测到,请询问用户。
- 检查
- 检测可用的浏览器自动化方式(使用上述优先级列表)。
- 如果是回归模式:从
.qa-reports/加载之前的基线。
阶段 2:身份验证(如有需要)
- 导航至根 URL,检查是否存在登录墙。
- 如果用户提供了凭据:完成身份验证并保存会话。
- 如果没有:向用户索取测试凭据,或跳过受身份验证限制的页面,并在报告中注明这一限制。
阶段 3:了解结构
- 导航至根 URL。
- 梳理主要导航结构 — 收集所有顶级导航链接。
- 对每个页面分类:静态页、表单、列表、详情页、仪表板。
- 按页面类别制定测试计划(优先测试表单和仪表板 — 缺陷密度最高)。
阶段 4:探索(完整模式)
对每个页面运行以下逐页检查清单。快速模式下,仅运行标有 (Q) 的项目。
视觉检查
- (Q) 布局渲染正确 — 无重叠、无溢出
- 图片正常加载 — 无损坏的
<img>标签 - 字体排版一致 — 无明显的字体回退
- 响应式检查:桌面端(1280px)和移动端(375px)宽度
交互元素
- (Q) 所有按钮和链接均可点击且响应正常
- 预期位置均有悬停状态
- 键盘导航时焦点指示器清晰可见
- 禁用状态在视觉上易于区分
表单
- (Q) 空提交时触发必填字段验证
- 输入无效时显示错误消息
- 有效提交后提供成功反馈
- 正确处理表单重新提交 — 双击不会导致重复提交
导航
- (Q) 所有导航链接均可正常跳转 — 无 404 错误
- 后退按钮工作符合预期
- 深层链接正常 — 直接访问 URL 时返回正确页面
- 面包屑准确(如有)
状态管理
- 异步操作期间显示加载状态
- 正确处理空状态 — 数据缺失时不会显示空白页
- 错误状态可恢复 — 提供重试或返回选项
- 数据在导航过程中保持 — 后退/前进时不丢失表单数据
控制台
- (Q) 控制台中无 JavaScript 错误
- 无失败的网络请求(4xx/5xx)
- 无混合内容警告
- 热路径中无弃用警告
响应能力
- 移动端布局可用 — 375px 宽度下无水平滚动
- 触控目标 >= 44px
- 无需缩放即可阅读文本(正文文本 >= 16px)
阶段 5:记录
对于发现的每个问题,使用 references/issue-taxonomy.md 进行分类:
- 严重程度:critical(阻碍使用)、major(降低体验)、minor(外观/润色)
- 类别:功能、视觉、无障碍、性能、内容、导航、安全、控制台
- 证据:截图说明或复现步骤
分配唯一 ID:QA-001、QA-002 等。
根据以下权重计算健康评分,详细信息见 references/report-template.md。
阶段 6:收尾
- 按照
references/report-template.md生成结构化报告。 - 保存至
.qa-reports/<YYYY-MM-DD>-<mode>.json。 - 如果是完整模式:保存基线,以便将来进行回归比较。
- 提交摘要:健康评分、严重/主要/轻微问题数量,以及优先处理的 3 项修复。
健康评分
对 8 个类别进行加权平均,评分范围为 0–100。
| 类别 | 权重 |
|---|---|
| 控制台错误 | 15% |
| 失效链接 | 10% |
| 功能 | 20% |
| UX/易用性 | 15% |
| 无障碍访问 | 15% |
| 视觉 | 10% |
| 性能 | 10% |
| 内容 | 5% |
各类别评分:从 100 分起,根据问题严重程度扣分:
- 严重:-30
- 主要:-15
- 轻微:-5
最低为 0。最终健康评分 = 各类别评分的加权总和。
快速模式行为
仅运行阶段 4 清单中标记为 (Q) 的项目。跳过健康评分计算——按关键路径报告通过/失败。目标完成时间:实际测试时间 30 秒。
回归模式行为
- 从
.qa-reports/加载最新基线。 - 运行完整模式。
- 按 ID 和描述相似度比较问题。
- 报告:新增问题、已解决问题、持续存在的问题。
- 保存更新后的基线。
评论
支持 Markdown