mcpField
Q
qa-test-planner

qa-test-planner

github.com/jamesrochabrun测试与质量226146 次安装41 周前更新
代码仓库

关于 qa-test-planner

这是供 QA 工程师使用的测试规划技能,可生成测试计划、手动用例和回归套件,并帮助分析覆盖率及记录缺陷。它还提供基于 Figma MCP 的设计与实现比对流程。

主要功能

  1. 01生成测试计划
  2. 02编写分步手动用例
  3. 03构建冒烟与回归套件
  4. 04分析测试覆盖缺口
  5. 05创建结构化缺陷报告
  6. 06通过 Figma MCP 验证设计

适用场景

  1. 01为新功能制定测试策略和环境要求
  2. 02为版本发布准备回归测试套件
  3. 03比对界面实现与 Figma 设计
  4. 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.md
regression_testing.md
scripts/
create_bug_report.sh
generate_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

验证流程:

  1. 从 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
  1. 比较实现
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
  1. 不匹配时创建错误报告
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
覆盖率矩阵
功能需求测试用例状态缺口
登录812✓ 完成无
结账1510⚠ 部分完成支付错误
仪表板1215✓ 完成无

回归测试套件结构

冒烟测试套件(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

评论

支持 Markdown