mcpField
Q
qa-systematic

qa-systematic

github.com/mathews-tom测试与质量33779 次安装2 天前更新
代码仓库

关于 qa-systematic

qa-systematic 是用于系统化测试 Web 应用的技能,提供完整、快速和回归模式。它会检测可用的浏览器自动化方式,检查页面与关键路径,并生成包含严重性、证据及适用时加权健康评分的问题报告。

主要功能

  1. 01完整、快速和回归模式
  2. 02检测浏览器自动化方式
  3. 03逐页测试检查清单
  4. 04问题分类与证据记录
  5. 05健康评分与基线保存

适用场景

  1. 01发布前测试 Web 应用
  2. 02快速检查登录和主要路径
  3. 03将构建版本与保存的基线比较
  4. 04根据记录的问题安排修复优先级

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mathews-tom/armory --skill qa-systematic

安装后在 Claude Code 中输入/qa-systematic确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
cases.yaml
references/
issue-taxonomy.md
project-detection.md
report-template.md

详细介绍

系统化 QA 测试

模式

完整(默认)

逐页系统化测试、8 类健康评分、完整的问题记录。

快速

用 30 秒对关键路径进行冒烟测试:登录、主导航、主要操作。

回归

将当前状态与已保存的基线进行比较,报告新增和已解决的问题。

浏览器自动化检测

按以下优先级检测可用的自动化方式:

  1. Playwright MCP server — 检查当前工具列表中是否有 Playwright 工具
  2. agent-browser skill — 检查是否已加载 agent-browser skill
  3. 直接 CLI 工具 — 检查 PATH 中是否有 playwright、puppeteer 或 cypress 二进制文件
  4. 手动回退方案 — 请用户进行导航并报告观察结果

使用优先级最高的可用方式。在报告开头说明正在使用哪种方式。

工作流

阶段 1:初始化
  1. 根据用户提示检测模式。若未指定,默认为完整。
  2. 检测应用 URL:
    • 检查 references/project-detection.md,了解框架的端口约定(例如,Next.js → 3000、Vite → 5173、Django → 8000)。
    • 如果无法检测到,请询问用户。
  3. 检测可用的浏览器自动化方式(使用上述优先级列表)。
  4. 如果是回归模式:从 .qa-reports/ 加载之前的基线。
阶段 2:身份验证(如有需要)
  1. 导航至根 URL,检查是否存在登录墙。
  2. 如果用户提供了凭据:完成身份验证并保存会话。
  3. 如果没有:向用户索取测试凭据,或跳过受身份验证限制的页面,并在报告中注明这一限制。
阶段 3:了解结构
  1. 导航至根 URL。
  2. 梳理主要导航结构 — 收集所有顶级导航链接。
  3. 对每个页面分类:静态页、表单、列表、详情页、仪表板。
  4. 按页面类别制定测试计划(优先测试表单和仪表板 — 缺陷密度最高)。
阶段 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:收尾
  1. 按照 references/report-template.md 生成结构化报告。
  2. 保存至 .qa-reports/<YYYY-MM-DD>-<mode>.json。
  3. 如果是完整模式:保存基线,以便将来进行回归比较。
  4. 提交摘要:健康评分、严重/主要/轻微问题数量,以及优先处理的 3 项修复。

健康评分

对 8 个类别进行加权平均,评分范围为 0–100。

类别权重
控制台错误15%
失效链接10%
功能20%
UX/易用性15%
无障碍访问15%
视觉10%
性能10%
内容5%

各类别评分:从 100 分起,根据问题严重程度扣分:

  • 严重:-30
  • 主要:-15
  • 轻微:-5

最低为 0。最终健康评分 = 各类别评分的加权总和。

快速模式行为

仅运行阶段 4 清单中标记为 (Q) 的项目。跳过健康评分计算——按关键路径报告通过/失败。目标完成时间:实际测试时间 30 秒。

回归模式行为

  1. 从 .qa-reports/ 加载最新基线。
  2. 运行完整模式。
  3. 按 ID 和描述相似度比较问题。
  4. 报告:新增问题、已解决问题、持续存在的问题。
  5. 保存更新后的基线。

评论

支持 Markdown