qa-test-planner について
qa-test-plannerはQAエンジニア向けのスキルで、機能要件からテスト計画、手動テストケース、回帰テストスイート、デザイン検証、バグレポートを作成します。テストケースとバグレポート用の対話型スクリプトも含みます。
主な機能
- 01テスト計画と手動テストケースの作成
- 02スモークテストと回帰テストの構築
- 03Figmaデザインと実装の照合
- 04構造化されたバグレポートの作成
- 05ケースとバグ用の対話型スクリプト
活用シーン
- 01新機能のテスト計画
- 02チェックアウトフローのケース作成
- 03Figmaデザインに沿った画面検証
- 04再現可能なバグの記録
MCP 対応
Figma検証では、設定済みのFigma MCPサーバーからデザイン仕様を取得し、実装と比較する手順を説明しています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ softaworks/ agent-toolkit --skill qa-test-plannerインストール後、Claude Code で/qa-test-plannerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/bug_report_templates.mdfigma_validation.mdregression_testing.mdtest_case_templates.mdscripts/create_bug_report.shgenerate_test_cases.sh詳細
QA Test Planner
QA エンジニア向けの包括的なスキルです。テスト計画の作成、手動テストケースの生成、リグレッションテストスイートの構築、Figma によるデザインの検証、バグの効果的な文書化を行えます。
アクティベーション: このスキルは、名前で明示的に呼び出された場合にのみトリガーされます(例:
/qa-test-planner、qa-test-planner、またはuse the skill qa-test-planner)。
クイックスタート
テスト計画を作成する:
"Create a test plan for the user authentication feature"
テストケースを生成する:
"Generate manual test cases for the checkout flow"
リグレッションスイートを構築する:
"Build a regression test suite for the payment module"
Figma に対して検証する:
"Compare the login page against the Figma design at [URL]"
バグレポートを作成する:
"Create a bug report for the form validation issue"
クイックリファレンス
| タスク | 得られるもの | 所要時間 |
|---|---|---|
| テスト計画 | 戦略、範囲、スケジュール、リスク | 10-15 分 |
| テストケース | ステップごとの手順、期待される結果 | 1 件あたり 5-10 分 |
| リグレッションスイート | スモークテスト、重要パス、実行順序 | 15-20 分 |
| Figma 検証 | デザインと実装の比較、不一致の一覧 | 10-15 分 |
| バグレポート | 再現可能な手順、環境、証拠 | 5 分 |
仕組み
Your Request
│
▼
┌─────────────────────────────────────────────────────┐
│ 1. ANALYZE │
│ • Parse feature/requirement │
│ • Identify test types needed │
│ • Determine scope and priorities │
├─────────────────────────────────────────────────────┤
│ 2. GENERATE │
│ • Create structured deliverables │
│ • Apply templates and best practices │
│ • Include edge cases and variations │
├─────────────────────────────────────────────────────┤
│ 3. VALIDATE │
│ • Check completeness │
│ • Verify traceability │
│ • Ensure actionable steps │
└─────────────────────────────────────────────────────┘
│
▼
QA Deliverable Ready
コマンド
インタラクティブスクリプト
| スクリプト | 目的 | 使い方 |
|---|---|---|
./scripts/generate_test_cases.sh | テストケースを対話形式で作成 | ステップごとのプロンプト |
./scripts/create_bug_report.sh | バグレポートを生成 | ガイド付きの入力収集 |
自然言語
| リクエスト | 出力 |
|---|---|
| "Create test plan for {feature}" | 完全なテスト計画ドキュメント |
| "Generate {N} test cases for {feature}" | 手順付きの番号付きテストケース |
| "Build smoke test suite" | 重要パスのテスト |
| "Compare with Figma at {URL}" | 視覚検証チェックリスト |
| "Document bug: {description}" | 構造化されたバグレポート |
主な成果物
1. テスト計画
- テストの範囲と目的
- テストのアプローチと戦略
- 環境要件
- 開始/終了基準
- リスク評価
- スケジュールとマイルストーン
2. 手動テストケース
- ステップごとの手順
- 期待される結果と実際の結果
- 前提条件とセットアップ
- テストデータの要件
- 優先度と重大度
3. リグレッションスイート
- スモークテスト(15-30 分)
- フルリグレッション(2-4 時間)
- 対象を絞ったリグレッション(30-60 分)
- 実行順序と依存関係
4. Figma 検証
- コンポーネントごとの比較
- 余白とタイポグラフィのチェック
- 色と視覚的一貫性
- インタラクティブな状態の検証
5. バグレポート
- 明確な再現手順
- 環境の詳細
- 証拠(スクリーンショット、ログ)
- 重大度と優先度
アンチパターン
| 避けるべきこと | 理由 | 代わりに |
|---|---|---|
| 曖昧なテスト手順 | 再現できない | 具体的な操作と期待される結果を記述する |
| 前提条件の欠落 | テストが予期せず失敗する | すべてのセットアップ要件を文書化する |
| テストデータがない | テスターが作業できない | サンプルデータまたは生成方法を用意する |
| 汎用的なバグタイトル | 追跡しにくい | 具体的に: "[Feature] issue when [action]" |
| エッジケースの省略 | 重大なバグを見逃す | 境界値、null を含める |
検証チェックリスト
テスト計画:
- 範囲が明確に定義されている(対象内/対象外)
- 開始/終了基準が指定されている
- リスクが特定され、軽減策が示されている
- スケジュールが現実的である
テストケース:
- 各ステップに期待される結果がある
- 前提条件が文書化されている
- テストデータが利用可能である
- 優先度が割り当てられている
バグレポート:
- 再現手順がある
- 環境が文書化されている
- スクリーンショット/証拠が添付されている
- 重大度/優先度が設定されている
参考資料
- テストケーステンプレート - すべてのテストタイプの標準フォーマット
- バグレポートテンプレート - ドキュメントテンプレート
- リグレッションテストガイド - スイートの構築と実行
- Figma 検証ガイド - デザインと実装の検証
詳細解説: テストケースの構造
標準のテストケース形式
## 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/ビジュアルテスト | 外観、レイアウト | ボタンが Figma のデザインと一致する |
| 統合テスト | コンポーネント間の連携 | API がフロントエンドにデータを返す |
| リグレッションテスト | 既存機能 | 以前の機能が引き続き動作する |
| パフォーマンステスト | 速度、負荷への対応 | ページが 3 秒以内に読み込まれる |
| セキュリティテスト | 脆弱性 | SQL インジェクションが防止されている |
詳細解説: テスト計画テンプレート
テスト計画の構成
# Test Plan: [Feature/Release Name]
## Executive Summary
- Feature/product being tested
- Testing objectives
- Key risks
- Timeline overview
## Test Scope
**In Scope:**
- Features to be tested
- Test types (functional, UI, performance)
- Platforms and environments
- User flows and scenarios
**Out of Scope:**
- Features not being tested
- Known limitations
- Third-party integrations (if applicable)
## Test Strategy
**Test Types:**
- Manual testing
- Exploratory testing
- Regression testing
- Integration testing
- User acceptance testing
**Test Approach:**
- Black box testing
- Positive and negative testing
- Boundary value analysis
- Equivalence partitioning
## Test Environment
- Operating systems
- Browsers and versions
- Devices (mobile, tablet, desktop)
- Test data requirements
- Backend/API environments
## Entry Criteria
- [ ] Requirements documented
- [ ] Designs finalized
- [ ] Test environment ready
- [ ] Test data prepared
- [ ] Build deployed
## Exit Criteria
- [ ] All high-priority test cases executed
- [ ] 90%+ test case pass rate
- [ ] All critical bugs fixed
- [ ] No open high-severity bugs
- [ ] Regression suite passed
## Risk Assessment
| Risk | Probability | Impact | Mitigation |
|------|-------------|--------|------------|
| [Risk 1] | H/M/L | H/M/L | [Mitigation] |
## Test Deliverables
- Test plan document
- Test cases
- Test execution reports
- Bug reports
- Test summary report
詳細解説: バグ報告
バグレポートテンプレート
# 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]
## Impact
- **User Impact:** [How many users affected]
- **Frequency:** [Always, Sometimes, Rarely]
- **Workaround:** [If one exists]
## Additional Context
- Related to: [Feature/ticket]
- Regression: [Yes/No]
- Figma design: [Link if UI bug]
重大度の定義
| レベル | 基準 | 例 |
|---|---|---|
| Critical (P0) | システムクラッシュ、データ損失、セキュリティ | 決済が失敗する、ログインできない |
| High (P1) | 主要機能が故障し、回避策がない | 検索が機能しない |
| Medium (P2) | 機能が一部動作し、回避策がある | フィルターの選択肢が 1 つ欠けている |
| Low (P3) | 見た目の問題、まれなエッジケース | 誤字、わずかな配置のずれ |
詳細解説: Figma MCP 連携
デザイン検証ワークフロー
前提条件:
- Figma MCP サーバーが設定されていること
- Figma のデザインファイルにアクセスできること
- コンポーネントやページの Figma URL があること
手順:
- Figma からデザイン仕様を取得する
"Get the button specifications from Figma file [URL]"
Response includes:
- Dimensions (width, height)
- Colors (background, text, border)
- Typography (font, size, weight)
- Spacing (padding, margin)
- Border radius
- States (default, hover, active, disabled)
- 実装を比較する
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]
検証項目
| 要素 | 確認内容 | ツール |
|---|---|---|
| 色 | 16 進数の値が完全一致しているか | ブラウザのカラーピッカー |
| 間隔 | パディング/マージンのピクセル値 | DevTools の計算済みスタイル |
| タイポグラフィ | フォント、サイズ、ウェイト | DevTools のフォントパネル |
| レイアウト | 幅、高さ、位置 | DevTools のボックスモデル |
| 状態 | ホバー、アクティブ、フォーカス | 手動での操作 |
| レスポンシブ | ブレークポイントでの挙動 | DevTools のデバイスモード |
クエリの例
"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"
詳細解説: リグレッションテスト
スイートの構成
| スイートの種類 | 所要時間 | 実行頻度 | カバレッジ |
|---|---|---|---|
| スモーク | 15〜30 分 | 毎日 | 重要なパスのみ |
| ターゲット | 30〜60 分 | 変更ごと | 影響を受ける領域 |
| フル | 2〜4 時間 | 毎週/リリース時 | 包括的 |
| サニティ | 10〜15 分 | ホットフィックス後 | 簡易的な検証 |
リグレッションスイートの構築
ステップ 1: 重要なパスを特定する
- ユーザーが絶対に手放せない機能は何か?
- 収益を生み出している機能は何か?
- 機密データを扱う機能は何か?
- 最も頻繁に使われている機能は何か?
ステップ 2: テストケースに優先順位を付ける
| 優先度 | 説明 | 必ず実行 |
|---|---|---|
| P0 | ビジネス上重要、セキュリティ | 常に |
| P1 | 主要機能、一般的なフロー | 毎週以上 |
| P2 | 軽微な機能、エッジケース | リリース時 |
ステップ 3: 実行順序
- まずスモークテスト。失敗した場合は中止し、ビルドを修正する
- 次に P0 テスト。先に進む前に必ず合格させる
- 次に P1、その後 P2。すべての失敗を追跡する
- 探索的テストで、予期しない問題を見つける
合否基準
合格:
- すべての P0 テストが合格
- P1 テストの 90% 以上が合格
- 未解決の重大なバグがない
不合格(リリースをブロック):
- P0 テストが 1 件でも失敗
- 重大なバグが発見された
- セキュリティ上の脆弱性
- データ損失のシナリオ
条件付き:
- 回避策のある P1 の失敗
- 既知の問題が文書化されている
- 修正計画が用意されている
詳細解説: テスト実行の追跡
テスト実行レポートのテンプレート
# 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 |
## Critical Failures
- TC-045: Payment processing fails
- Bug: BUG-234
- Status: Open
## Blocked Tests
- TC-112: Dashboard widget (API endpoint down)
## Risks
- 2 critical bugs blocking release
- Payment integration needs attention
## Next Steps
- Retest after BUG-234 fix
- Complete remaining 5 test cases
- Run full regression before sign-off
カバレッジの追跡
## Coverage Matrix
| Feature | Requirements | Test Cases | Status | Gaps |
|---------|--------------|------------|--------|------|
| Login | 8 | 12 | Complete | None |
| Checkout | 15 | 10 | Partial | Payment errors |
| Dashboard | 12 | 15 | Complete | None |
QA プロセスのワークフロー
フェーズ 1: 計画
- 要件とデザインをレビューする
- テスト計画を作成する
- テストシナリオを特定する
- 工数とスケジュールを見積もる
- テスト環境をセットアップする
フェーズ 2: テスト設計
- テストケースを作成する
- テストケースをチームでレビューする
- テストデータを準備する
- リグレッションスイートを構築する
- Figma デザインへのアクセス権を取得する
フェーズ 3: 実行
- テストケースを実行する
- 明確な手順でバグを記録する
- Figma と照合して検証する(UI テスト)
- テストの進捗を追跡する
- ブロッカーを共有する
フェーズ 4: レポート作成
- テスト結果をまとめる
- カバレッジを分析する
- リスクを文書化する
- Go/No-Go の推奨を提示する
- テスト成果物をアーカイブする
ベストプラクティス
テストケースの作成
DO:
- 具体的で曖昧さのない記述にする
- 各ステップに期待される結果を含める
- 1 つのテストケースでは 1 つのことだけをテストする
- 一貫した命名規則を使用する
- 保守しやすいテストケースにする
DON'T:
- 知識があることを前提にしない
- テストケースを長くしすぎない
- 事前条件を省略しない
- エッジケースを見落とさない
- 期待される結果を曖昧なままにしない
バグレポート
DO:
- 再現手順を明確に示す
- スクリーンショットや動画を添付する
- 正確な環境の詳細を記載する
- ユーザーへの影響を説明する
- UI のバグには Figma へのリンクを付ける
DON'T:
- 再現手順なしで報告しない
- 曖昧な説明を使わない
- 環境の詳細を省略しない
- 優先度の設定を忘れない
- 既存のバグを重複して報告しない
リグレッションテスト
DO:
- 可能な場合は反復的なテストを自動化する
- リグレッションスイートを定期的にメンテナンスする
- 重要なパスを優先する
- スモークテストを頻繁に実行する
- リリースごとにスイートを更新する
DON'T:
- リリース前のリグレッションを省略しない
- スイートを古いままにしない
- 毎回すべてをテストしない
- 失敗したリグレッションテストを無視しない
例
例: ログインフローのテストケース
## 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
### 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
例: レスポンシブデザインのテストケース
## 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)
「テストはバグの不在ではなく、存在を示すことしかできない。」 - Edsger Dijkstra
「品質は行為ではなく習慣である。」 - Aristotle