关于 qa-test-planner
这是供 QA 工程师使用的测试规划技能,可生成测试计划、手动用例和回归套件,并帮助分析覆盖率及记录缺陷。它还提供基于 Figma MCP 的设计与实现比对流程。
主要功能
- 01生成测试计划
- 02编写分步手动用例
- 03构建冒烟与回归套件
- 04分析测试覆盖缺口
- 05创建结构化缺陷报告
- 06通过 Figma MCP 验证设计
适用场景
- 01为新功能制定测试策略和环境要求
- 02为版本发布准备回归测试套件
- 03比对界面实现与 Figma 设计
- 04记录可复现缺陷并跟踪测试进度
MCP 相关
Figma MCP 可用于获取设计规格并比对界面实现;该流程要求配置 Figma MCP server 并具备设计文件访问权限。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jamesrochabrun/ skills --skill qa-test-planner安装后在 Claude Code 中输入/qa-test-planner确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/figma_validation.mdregression_testing.mdscripts/create_bug_report.shgenerate_test_cases.sh详细介绍
QA 测试规划师
一项全面的技能,可帮助 QA 工程师制定测试计划、生成手动测试用例、构建回归测试套件、对照 Figma 验证设计,并有效记录 Bug。
此技能的功能
帮助 QA 工程师完成以下工作:
- 制定测试计划 - 制定全面的测试策略和计划
- 生成手动测试用例 - 编写详细的分步测试用例
- 构建回归测试套件 - 创建关键路径和冒烟测试套件
- 验证 Figma 设计 - 对照设计检查实现效果(需要 Figma MCP)
- Bug 报告模板 - 清晰、可复现地记录 Bug
- 测试覆盖率分析 - 找出测试缺口
- 跟踪测试执行情况 - 监控测试进度
为什么需要此技能
缺少结构化测试时:
- 测试覆盖率不一致
- 遗漏边缘情况
- Bug 文档质量差
- 缺少回归安全网
- 设计实现存在差异
- 测试策略不明确
使用此技能后:
- 全面的测试覆盖
- 可重复执行的测试用例
- 系统化的回归测试
- 验证设计与实现是否一致
- 专业的 Bug 报告
- 清晰的测试路线图
核心组件
1. 测试计划生成器
- 测试范围和目标
- 测试方法和策略
- 测试环境要求
- 进入/退出标准
- 风险评估
- 资源分配
- 时间线和里程碑
2. 手动测试用例生成器
- 分步说明
- 预期结果与实际结果
- 前置条件和设置
- 测试数据要求
- 优先级和严重程度
- 边缘情况识别
3. 回归测试套件构建器
- 冒烟测试用例
- 关键路径测试
- 集成测试场景
- 向后兼容性检查
- 性能回归测试
4. Figma 设计验证(使用 MCP)
- 对照设计检查 UI 实现
- 识别视觉差异
- 验证间距、颜色和字体排版
- 检查组件一致性
- 标记设计与开发之间的不一致
5. Bug 报告生成器
- 清晰的复现步骤
- 环境详情
- 预期行为与实际行为
- 截图和证据
- 严重程度和优先级
- 相关测试用例
测试用例结构
标准测试用例格式
## TC-001: [Test Case Title]
**Priority:** High | Medium | Low
**Type:** Functional | UI | Integration | Regression
**Status:** Not Run | Pass | Fail | Blocked
### Objective
[What are we testing and why]
### Preconditions
- [Setup requirement 1]
- [Setup requirement 2]
- [Test data needed]
### Test Steps
1. [Action to perform]
**Expected:** [What should happen]
2. [Action to perform]
**Expected:** [What should happen]
3. [Action to perform]
**Expected:** [What should happen]
### Test Data
- Input: [Test data values]
- User: [Test account details]
- Configuration: [Environment settings]
### Post-conditions
- [System state after test]
- [Cleanup required]
### Notes
- [Edge cases to consider]
- [Related test cases]
- [Known issues]
测试计划模板
执行摘要
- 正在测试的功能/产品
- 测试目标
- 主要风险
- 时间线概览
测试范围
范围内:
- 待测试的功能
- 测试类型(功能、UI、性能等)
- 平台和环境
- 用户流程和场景
范围外:
- 不在本次测试范围内的功能(已延期)
- 已知限制
- 第三方集成(如适用)
测试策略
测试类型:
- 手动测试
- 探索性测试
- 回归测试
- 集成测试
- 用户验收测试
- 性能测试(如适用)
测试方法:
- 黑盒测试
- 正向和负向测试
- 边界值分析
- 等价类划分
测试环境
- 操作系统
- 浏览器及版本
- 设备(手机、平板、桌面设备)
- 测试数据要求
- 后端/API 环境
进入标准
- 已记录需求
- 设计已定稿
- 测试环境已就绪
- 测试数据已准备
- 构建版本已部署到测试环境
退出标准
- 已执行所有高优先级测试用例
- 测试用例通过率达到 90% 以上
- 所有严重 Bug 均已修复
- 没有未解决的高严重程度 Bug
- 回归测试套件已通过
- 已获得相关方签字确认
风险评估
| 风险 | 可能性 | 影响 | 缓解措施 |
|---|---|---|---|
| [风险 1] | 高/中/低 | 高/中/低 | [如何缓解] |
| [风险 2] | 高/中/低 | 高/中/低 | [如何缓解] |
测试交付物
- 测试计划文档
- 测试用例
- 测试执行报告
- Bug 报告
- 测试总结报告
测试类型和方法
1. 功能测试
内容: 验证功能是否按规范运行
测试用例:
- 正常流程场景
- 错误处理
- 输入验证
- 业务逻辑
- 数据完整性
示例:
TC: User Login with Valid Credentials
1. Navigate to login page
2. Enter valid email and password
3. Click "Login" button
Expected: User redirected to dashboard, welcome message shown
2. UI/视觉测试
内容: 验证视觉外观和布局
测试用例:
- 布局和对齐
- 响应式设计
- 颜色和排版
- 组件状态(悬停、激活、禁用)
- 跨浏览器兼容性
使用 Figma MCP:
- 将实现与 Figma 设计稿进行比较
- 验证间距(内边距、外边距)
- 检查字号和字重
- 验证颜色值
- 确保图标准确
示例:
TC: Homepage Hero Section Visual Validation
1. Open homepage in browser
2. Compare against Figma design [link]
3. Verify:
- Heading font: 48px, bold, #1A1A1A
- CTA button: 16px padding, #0066FF background
- Image aspect ratio: 16:9
- Spacing: 64px margin-bottom
Expected: All visual elements match Figma exactly
3. 回归测试
内容: 确保现有功能仍然正常运行
运行时机:
- 每次发布前
- 修复错误后
- 添加新功能后
- 每周进行冒烟测试
测试套件组成:
- 冒烟测试(关键路径)
- 完整回归测试(全面覆盖)
- 定向回归测试(受影响区域)
示例:
Regression Suite: User Authentication
- Login with valid credentials
- Login with invalid credentials
- Password reset flow
- Session timeout handling
- Multi-device login
- Social login (Google, GitHub)
4. 集成测试
内容: 验证不同组件能否协同工作
测试用例:
- API 集成
- 数据库操作
- 第三方服务
- 跨模块交互
- 组件间的数据流
示例:
TC: Checkout Payment Integration
1. Add item to cart
2. Proceed to checkout
3. Enter payment details (Stripe)
4. Submit payment
Expected:
- Payment processed via Stripe API
- Order created in database
- Confirmation email sent
- Inventory updated
5. 探索性测试
内容: 无脚本、富有创造性的测试
方法:
- 基于测试章程进行探索
- 模拟用户角色
- 发现边界情况
- 评估可用性
测试会话模板:
Exploratory Testing Session
Charter: Explore [feature] as [user type]
Time: 60 minutes
Focus: [Area to explore]
Findings:
- [Bug/issue discovered]
- [UX concern]
- [Improvement suggestion]
Follow-up:
- [Test cases to create]
- [Bugs to file]
Figma MCP 集成
设计验证工作流
前提条件:
- 已配置 Figma MCP 服务
- 拥有设计文件访问权限
- 可使用 Figma URL
验证流程:
- 从 Figma 获取设计规范
"Get the button specifications from Figma file [URL]"
- Component: Primary Button
- Width: 120px
- Height: 40px
- Border-radius: 8px
- Background: #0066FF
- Font: 16px, Medium, #FFFFFF
- 比较实现
TC: Primary Button Visual Validation
1. Inspect primary button in browser dev tools
2. Compare against Figma specs:
- Dimensions: 120x40px ✓ / ✗
- Border-radius: 8px ✓ / ✗
- Background color: #0066FF ✓ / ✗
- Font: 16px Medium #FFFFFF ✓ / ✗
3. Document discrepancies
- 不匹配时创建错误报告
BUG: Primary button color doesn't match design
Severity: Medium
Expected (Figma): #0066FF
Actual (Implementation): #0052CC
Screenshot: [attached]
Figma link: [specific component]
设计与开发交接检查清单
使用 Figma MCP:
- 从设计稿中获取间距值
- 验证颜色调色板是否匹配
- 检查排版规范
- 验证组件状态(悬停、激活、禁用)
- 确认断点行为
- 检查图标和资源
- 检查无障碍标注
错误报告最佳实践
有效错误报告模板
# BUG-[ID]: [Clear, specific title]
**Severity:** Critical | High | Medium | Low
**Priority:** P0 | P1 | P2 | P3
**Type:** Functional | UI | Performance | Security
**Status:** Open | In Progress | Fixed | Closed
## Environment
- **OS:** [Windows 11, macOS 14, etc.]
- **Browser:** [Chrome 120, Firefox 121, etc.]
- **Device:** [Desktop, iPhone 15, etc.]
- **Build:** [Version/commit]
- **URL:** [Page where bug occurs]
## Description
[Clear, concise description of the issue]
## Steps to Reproduce
1. [Specific step]
2. [Specific step]
3. [Specific step]
## Expected Behavior
[What should happen]
## Actual Behavior
[What actually happens]
## Visual Evidence
- Screenshot: [attached]
- Video: [link if applicable]
- Console errors: [paste errors]
- Network logs: [if relevant]
## Impact
- **User Impact:** [How many users affected]
- **Frequency:** [Always, Sometimes, Rarely]
- **Workaround:** [If one exists]
## Additional Context
- Related to: [Feature/ticket]
- First noticed: [When]
- Regression: [Yes/No - if yes, since when]
- Figma design: [Link if UI bug]
## Test Cases Affected
- TC-001: [Test case that failed]
- TC-045: [Related test case]
错误严重程度定义
严重(P0):
- 系统崩溃或数据丢失
- 安全漏洞
- 功能完全失效
- 阻碍发布
高(P1):
- 主要功能无法使用
- 对用户造成重大影响
- 没有可用的解决方法
- 应在发布前修复
中(P2):
- 功能部分可用
- 有可用的解决方法
- 给用户带来轻微不便
- 可在下次发布时附带修复
低(P3):
- 外观问题
- 罕见的边界情况
- 影响极小
- 修复后更好
测试覆盖率分析
覆盖率指标
功能覆盖率:
Total Features: 25
Tested: 23
Not Tested: 2
Coverage: 92%
需求覆盖率:
Total Requirements: 150
With Test Cases: 142
Without Test Cases: 8
Coverage: 95%
风险覆盖率:
High-Risk Areas: 12
Tested: 12
Medium-Risk: 35
Tested: 30
覆盖率矩阵
| 功能 | 需求 | 测试用例 | 状态 | 缺口 |
|---|---|---|---|---|
| 登录 | 8 | 12 | ✓ 完成 | 无 |
| 结账 | 15 | 10 | ⚠ 部分完成 | 支付错误 |
| 仪表板 | 12 | 15 | ✓ 完成 | 无 |
回归测试套件结构
冒烟测试套件(15-30 分钟)
运行: 每个测试周期开始前、每日构建时
关键路径:
- 用户登录/退出
- 核心用户流程(例如,创建订单)
- 导航和路由
- API 健康检查
- 数据库连接
示例:
SMOKE-001: Critical User Flow
1. Login as standard user
2. Navigate to main feature
3. Perform primary action
4. Verify success message
5. Logout
Expected: All steps complete without errors
完整回归测试套件(2-4 小时)
运行: 每周、发布前
覆盖范围:
- 所有功能测试用例
- 集成场景
- UI 验证
- 跨浏览器检查
- 数据完整性测试
定向回归测试(30-60 分钟)
运行: 修复错误、更新功能后
覆盖范围:
- 受影响的功能区域
- 相关组件
- 集成点
- 之前失败的测试
测试执行跟踪
测试运行模板
# Test Run: [Release Version]
**Date:** 2024-01-15
**Build:** v2.5.0-rc1
**Tester:** [Name]
**Environment:** Staging
## Summary
- Total Test Cases: 150
- Executed: 145
- Passed: 130
- Failed: 10
- Blocked: 5
- Not Run: 5
- Pass Rate: 90%
## Test Cases by Priority
| Priority | Total | Pass | Fail | Blocked |
|----------|-------|------|------|---------|
| P0 (Critical) | 25 | 23 | 2 | 0 |
| P1 (High) | 50 | 45 | 3 | 2 |
| P2 (Medium) | 50 | 45 | 3 | 2 |
| P3 (Low) | 25 | 17 | 2 | 1 |
## Failures
### Critical Failures
- TC-045: Payment processing fails
- Bug: BUG-234
- Status: Open
### High Priority Failures
- TC-089: Email notification not sent
- Bug: BUG-235
- Status: In Progress
## Blocked Tests
- TC-112: Dashboard widget (API endpoint down)
- TC-113: Export feature (dependency not deployed)
## Risks
- 2 critical bugs blocking release
- Payment integration needs attention
- Email service intermittent
## Next Steps
- Retest after BUG-234 fix
- Complete remaining 5 test cases
- Run full regression before sign-off
使用此技能
生成测试计划
./scripts/generate_test_plan.sh
用于创建全面测试计划的交互式工作流。
生成手动测试用例
./scripts/generate_test_cases.sh
为功能创建包含逐步说明的手动测试用例。
构建回归测试套件
./scripts/build_regression_suite.sh
创建冒烟测试和回归测试套件。
使用 Figma 验证设计
配置 Figma MCP 后:
"Compare the login page implementation against the Figma design at [URL] and generate test cases for visual validation"
创建 Bug 报告
./scripts/create_bug_report.sh
生成包含所有必需详情的结构化 Bug 报告。
访问模板
references/test_case_templates.md - Various test case formats
references/bug_report_templates.md - Bug documentation templates
references/regression_testing.md - Regression testing guide
references/figma_validation.md - Design validation with Figma MCP
QA 流程工作流
1. 规划阶段
- 审查需求和设计
- 创建测试计划
- 确定测试场景
- 估算工作量和时间安排
- 搭建测试环境
2. 测试设计阶段
- 编写测试用例
- 与团队审查测试用例
- 准备测试数据
- 构建回归测试套件
- 获取 Figma 设计访问权限
3. 测试执行阶段
- 执行测试用例
- 记录 Bug 并提供清晰的复现步骤
- 对照 Figma 设计进行验证(UI 测试)
- 跟踪测试进度
- 沟通阻碍因素
4. 报告阶段
- 汇总测试结果
- 分析覆盖率
- 记录风险
- 提供是否发布的建议
- 归档测试产物
最佳实践
编写测试用例
应该:
- ✅ 描述具体、明确
- ✅ 为每个步骤提供预期结果
- ✅ 每个测试用例只测试一项内容
- ✅ 使用一致的命名约定
- ✅ 确保测试用例易于维护
不应该:
- ❌ 假定读者已掌握相关知识
- ❌ 让测试用例过长
- ❌ 跳过前置条件
- ❌ 忘记边缘情况
- ❌ 对预期结果含糊其辞
报告 Bug
应该:
- ✅ 提供清晰的复现步骤
- ✅ 附上截图或视频
- ✅ 指明准确的环境详情
- ✅ 描述对用户的影响
- ✅ 为 UI Bug 添加 Figma 链接
不应该:
- ❌ 不提供复现步骤就报告
- ❌ 使用含糊的描述
- ❌ 忽略环境详情
- ❌ 忘记指定优先级
- ❌ 重复报告已有的 Bug
回归测试
应该:
- ✅ 尽可能自动化重复测试
- ✅ 定期维护回归测试套件
- ✅ 优先测试关键路径
- ✅ 经常运行冒烟测试
- ✅ 每次发布后更新测试套件
不应该:
- ❌ 发布前跳过回归测试
- ❌ 任由测试套件过时
- ❌ 每次都测试所有内容
- ❌ 忽略失败的回归测试
Figma MCP 设置
配置
安装 Figma MCP 服务:
# Follow Figma MCP installation instructions
# Configure with your Figma API token
# Set file access permissions
在测试规划中的用法:
"Analyze the Figma design file at [URL] and generate visual validation test cases for:
- Color scheme compliance
- Typography specifications
- Component spacing
- Responsive breakpoints
- Interactive states"
示例查询:
"Get button specifications from Figma design [URL]"
"Compare navigation menu implementation against Figma design"
"Extract spacing values for dashboard layout from Figma"
"List all color tokens used in Figma design system"
测试用例示例
示例 1:登录流程
## TC-LOGIN-001: Valid User Login
**Priority:** P0 (Critical)
**Type:** Functional
**Estimated Time:** 2 minutes
### Objective
Verify users can successfully login with valid credentials
### Preconditions
- User account exists ([email protected] / Test123!)
- User is not already logged in
- Browser cookies cleared
### Test Steps
1. Navigate to https://app.example.com/login
**Expected:** Login page displays with email and password fields
2. Enter email: [email protected]
**Expected:** Email field accepts input
3. Enter password: Test123!
**Expected:** Password field shows masked characters
4. Click "Login" button
**Expected:**
- Loading indicator appears
- User redirected to /dashboard
- Welcome message shown: "Welcome back, Test User"
- Avatar/profile image displayed in header
### Post-conditions
- User session created
- Auth token stored
- Analytics event logged
### Visual Validation (with Figma)
- Compare dashboard layout against Figma design [link]
- Verify welcome message typography: 24px, Medium, #1A1A1A
- Check avatar size: 40x40px, border-radius 50%
### Edge Cases to Consider
- TC-LOGIN-002: Invalid password
- TC-LOGIN-003: Non-existent email
- TC-LOGIN-004: SQL injection attempt
- TC-LOGIN-005: Very long password
示例 2:响应式设计验证
## TC-UI-045: Mobile Navigation Menu
**Priority:** P1 (High)
**Type:** UI/Responsive
**Devices:** Mobile (iPhone, Android)
### Objective
Verify navigation menu works correctly on mobile devices
### Preconditions
- Access from mobile device or responsive mode
- Viewport width: 375px (iPhone SE) to 428px (iPhone Pro Max)
### Test Steps
1. Open homepage on mobile device
**Expected:** Hamburger menu icon visible (top-right)
2. Tap hamburger icon
**Expected:**
- Menu slides in from right
- Overlay appears over content
- Close (X) button visible
3. Tap menu item
**Expected:** Navigate to section, menu closes
4. Compare against Figma mobile design [link]
**Expected:**
- Menu width: 280px
- Slide animation: 300ms ease-out
- Overlay opacity: 0.5, color #000000
- Font size: 16px, line-height 24px
### Breakpoints to Test
- 375px (iPhone SE)
- 390px (iPhone 14)
- 428px (iPhone 14 Pro Max)
- 360px (Galaxy S21)
总结
此 QA 测试规划器技能可提供:
- 结构化测试规划 — 全面的测试策略
- 手动测试用例生成 — 详细、可重复的测试
- 回归测试 — 防止变更导致问题
- Figma 验证 — 验证设计与实现是否一致
- Bug 文档 — 清晰、可执行的报告
- 覆盖率分析 — 找出测试盲区
请记住: 质量是每个人的责任,而 QA 确保质量得到系统化验证。
“测试可以证明 Bug 的存在,却不能证明其不存在。”— Edsger Dijkstra
“质量不是一种行为,而是一种习惯。”— Aristotle