qa-systematic
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSystematic QA Testing
系统化QA测试
Modes
模式
Full (default)
全量(默认)
Systematic page-by-page testing, 8-category health score, full issue documentation.
逐页面系统化测试,输出8个维度的健康评分,完整的问题记录文档。
Quick
快速
30-second smoke test of critical paths only: login, main nav, primary action.
仅针对核心路径执行30秒冒烟测试:登录、主导航、核心操作。
Regression
回归
Diff current state against saved baseline, report new/resolved issues.
将当前状态与已保存的基准版本对比,上报新增/已解决的问题。
Browser Automation Detection
浏览器自动化检测
Detect available automation in priority order:
- Playwright MCP server — check if Playwright tools are available in the current tool list
- skill — check if the agent-browser skill is loaded
agent-browser - Direct CLI tools — check for ,
playwright, orpuppeteerbinaries on PATHcypress - Manual fallback — instruct the user to navigate and report observations
Use the highest-priority method available. State which method is in use at the start of the report.
按优先级顺序检测可用的自动化工具:
- Playwright MCP 服务 — 检查当前工具列表中是否可用Playwright工具
- skill — 检查是否已加载agent-browser技能
agent-browser - 直接CLI工具 — 检查PATH中是否存在、
playwright或puppeteer二进制文件cypress - 手动 fallback 方案 — 指导用户手动操作页面并反馈观测结果
使用可用的最高优先级方法,在报告开头说明本次使用的方法。
Workflow
工作流
Phase 1: Initialize
阶段1:初始化
- Detect mode from user prompt. Default to full if unspecified.
- Detect application URL:
- Check for framework port conventions (e.g., Next.js → 3000, Vite → 5173, Django → 8000).
references/project-detection.md - If not detectable, ask the user.
- Check
- Detect available browser automation method (priority list above).
- If regression mode: load previous baseline from .
.qa-reports/
- 从用户提示中识别测试模式,未指定时默认使用全量模式。
- 识别应用URL:
- 参考中的框架端口约定(例如Next.js → 3000,Vite → 5173,Django → 8000)。
references/project-detection.md - 若无法识别,向用户询问。
- 参考
- 检测可用的浏览器自动化方法(参考上方优先级列表)。
- 若为回归模式:从目录加载历史基准版本数据。
.qa-reports/
Phase 2: Authenticate (if needed)
阶段2:鉴权(如需要)
- Navigate to root URL and check if a login wall is present.
- If credentials were provided: authenticate and store session.
- If not: ask the user for test credentials, or skip auth-gated pages and note the gap in the report.
- 访问根URL,检查是否存在登录拦截。
- 若用户已提供凭证:完成鉴权并存储会话。
- 若未提供凭证:向用户索要测试凭证,或跳过需要鉴权的页面并在报告中注明该覆盖缺口。
Phase 3: Orient
阶段3:梳理页面结构
- Navigate to root URL.
- Map the primary navigation structure — collect all top-level nav links.
- Classify each page: static, form, list, detail, dashboard.
- Build a test plan ordered by page category (forms and dashboards first — highest defect density).
- 访问根URL。
- 梳理主导航结构 — 收集所有顶级导航链接。
- 对每个页面分类:静态页、表单页、列表页、详情页、仪表盘。
- 按页面类别制定测试计划(表单和仪表盘优先 — 缺陷密度最高)。
Phase 4: Explore (Full mode)
阶段4:测试执行(全量模式)
For each page, run the per-page checklist below. In quick mode, run only the items marked with (Q).
对每个页面执行下方的单页检查清单。快速模式下仅执行标记了(Q)的项。
Visual Scan
视觉检查
- (Q) Layout renders correctly — no overlap, no overflow
- Images load — no broken tags
<img> - Typography consistent — no visible font fallbacks
- Responsive: check at desktop (1280px) and mobile (375px) widths
- (Q) 布局渲染正常 — 无元素重叠、无内容溢出
- 图片加载正常 — 无损坏的标签
<img> - 排版一致 — 无可见的字体 fallback 情况
- 响应式:检查桌面端(1280px)和移动端(375px)宽度下的展示效果
Interactive Elements
交互元素
- (Q) All buttons and links are clickable and responsive
- Hover states present where expected
- Focus indicators visible for keyboard navigation
- Disabled states visually distinct
- (Q) 所有按钮和链接可点击、响应正常
- 预期有hover态的位置均已实现
- 键盘导航的聚焦指示器可见
- 禁用状态视觉区分明显
Forms
表单
- (Q) Required field validation fires on empty submit
- Error messages display on invalid input
- Success feedback on valid submission
- Form resubmission handled — no duplicate submissions on double-click
- (Q) 空提交时触发必填项校验
- 输入非法内容时展示错误提示
- 提交成功时展示成功反馈
- 表单重复提交已处理 — 双击不会产生重复提交
Navigation
导航
- (Q) All nav links resolve — no 404s
- Back button works as expected
- Deep links work — direct URL access returns correct page
- Breadcrumbs accurate (if present)
- (Q) 所有导航链接可正常访问 — 无404
- 后退按钮功能符合预期
- 深度链接可用 — 直接访问URL返回对应页面
- 面包屑导航准确(如果有)
State Management
状态管理
- Loading states displayed during async operations
- Empty states handled — no blank pages when data is absent
- Error states recoverable — retry or back options present
- Data persists across navigation — no lost form data on back/forward
- 异步操作期间展示加载状态
- 空状态已处理 — 无数据时不会展示空白页面
- 错误状态可恢复 — 提供重试或返回选项
- 导航时数据持久化 — 前进/后退不会丢失表单数据
Console
控制台
- (Q) No JavaScript errors in console
- No failed network requests (4xx/5xx)
- No mixed content warnings
- No deprecation warnings in hot paths
- (Q) 控制台无JavaScript错误
- 无失败的网络请求(4xx/5xx)
- 无混合内容警告
- 核心路径无废弃API警告
Responsiveness
响应式适配
- Mobile layout usable — no horizontal scroll at 375px
- Touch targets >= 44px
- Text readable without zoom (>= 16px body text)
- 移动端布局可用 — 375px宽度下无横向滚动条
- 触控目标尺寸 >= 44px
- 文本无需缩放即可阅读(正文文本 >= 16px)
Phase 5: Document
阶段5:结果记录
For each issue found, classify using :
references/issue-taxonomy.md- Severity: critical (blocks usage), major (degrades experience), minor (cosmetic/polish)
- Category: functional, visual, accessibility, performance, content, navigation, security, console
- Evidence: screenshot description or reproduction steps
Assign a unique ID: , , etc.
QA-001QA-002Compute health score using the weights defined below and detailed in .
references/report-template.md对每个发现的问题,参考分类:
references/issue-taxonomy.md- 严重级别:critical(阻断使用)、major(体验降级)、minor(视觉/优化类问题)
- 问题类别:功能、视觉、无障碍、性能、内容、导航、安全、控制台
- 举证:截图描述或复现步骤
分配唯一ID:、等。
QA-001QA-002使用下方定义的权重计算健康评分,详细规则参考。
references/report-template.mdPhase 6: Wrap Up
阶段6:收尾
- Generate structured report following .
references/report-template.md - Save to .
.qa-reports/<YYYY-MM-DD>-<mode>.json - If full mode: save baseline for future regression comparison.
- Present summary: health score, critical/major/minor counts, top 3 priority fixes.
- 参考生成结构化报告。
references/report-template.md - 保存到。
.qa-reports/<YYYY-MM-DD>-<mode>.json - 若为全量模式:保存基准版本用于后续回归对比。
- 输出总结:健康评分、critical/major/minor问题数量、Top3优先修复项。
Health Score
健康评分
Weighted average across 8 categories, scored 0-100.
| Category | Weight |
|---|---|
| Console errors | 15% |
| Broken links | 10% |
| Functional | 20% |
| UX/Usability | 15% |
| Accessibility | 15% |
| Visual | 10% |
| Performance | 10% |
| Content | 5% |
Scoring per category: start at 100, deduct per issue by severity:
- Critical: -30
- Major: -15
- Minor: -5
Floor at 0. Final health score = weighted sum of category scores.
8个类别的加权平均值,分值范围0-100。
| 类别 | 权重 |
|---|---|
| 控制台错误 | 15% |
| broken链接 | 10% |
| 功能 | 20% |
| UX/可用性 | 15% |
| 无障碍 | 15% |
| 视觉 | 10% |
| 性能 | 10% |
| 内容 | 5% |
单类别评分规则:初始分为100,根据问题严重程度扣分:
- Critical:扣30分
- Major:扣15分
- Minor:扣5分
最低分为0。最终健康评分 = 各分类得分的加权总和。
Quick Mode Behavior
快速模式规则
Run only items marked (Q) in the Phase 4 checklist. Skip health score computation — report pass/fail per critical path. Target completion: 30 seconds of actual testing time.
仅执行阶段4清单中标记了(Q)的项,跳过健康评分计算 — 仅上报每个核心路径的通过/失败结果。目标完成时间:实际测试耗时30秒。
Regression Mode Behavior
回归模式规则
- Load the most recent baseline from .
.qa-reports/ - Run full mode.
- Diff issues by ID and description similarity.
- Report: new issues, resolved issues, persistent issues.
- Save updated baseline.
- 从加载最新的基准版本。
.qa-reports/ - 执行全量模式测试。
- 通过问题ID和描述相似度对比差异。
- 上报内容:新增问题、已解决问题、遗留问题。
- 保存更新后的基准版本。