gds-test-design について
gds-test-designは、ゲームQAエンジニア向けのBMadスキルです。ゲーム設計ドキュメントを基に、リスク順のテスト設計を作成し、ゲームプレイ、進行、マルチプレイヤー、プラットフォーム要件を扱います。
主な機能
- 01リスクに基づくシナリオの優先順位付け
- 02ゲームプレイと進行のテスト範囲
- 03マルチプレイヤーとプラットフォームのテスト項目
- 04プレイヤー体験のE2Eシナリオ
- 05カバレッジマトリクスと自動化の提案
活用シーン
- 01GDDや機能仕様からのテスト設計
- 02セーブと中核ゲームプレイのリスク評価
- 03マルチプレイヤーと認証要件の確認計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bmad-code-org/ bmad-module-game-dev-studio --skill gds-test-designインストール後、Claude Code で/gds-test-designを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
checklist.mdcustomize.tomltest-design-template.md詳細
ゲームテスト設計
ワークフロー ID: gds-test-design
バージョン: 1.0 (BMad v6)
規約
- パスのみの指定(例:
template.md)は、スキルのルートから解決されます。 {skill-root}は、このスキルのインストール先ディレクトリ(customize.tomlがある場所)に解決されます。{project-root}は、プロジェクトの作業ディレクトリから親ディレクトリを順にたどり、最初に見つかった_bmad/を含むフォルダーに解決されます。{skill-name}は、スキルディレクトリのベース名に解決されます。
有効化時
ステップ 1:ワークフローブロックを解決する
実行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow
スクリプトが失敗した場合は、次の 3 つのファイルをベース → チーム → ユーザーの順に読み込み、リゾルバーと同じ構造マージ規則を適用して、workflow ブロックを自分で解決します。
{skill-root}/customize.toml— デフォルト{project-root}/_bmad/custom/{skill-name}.toml— チームによる上書き{project-root}/_bmad/custom/{skill-name}.user.toml— 個人による上書き
存在しないファイルはスキップします。スカラー値は上書きし、テーブルはディープマージします。code または id をキーとするテーブルの配列では、一致するエントリを置き換え、新しいエントリを追加します。それ以外の配列はすべて追加します。
ステップ 2:先頭に追加するステップを実行する
先に進む前に、{workflow.activation_steps_prepend} の各エントリを順番に実行します。
ステップ 3:永続的な事実を読み込む
{workflow.persistent_facts} の各エントリを、ワークフローの残りの実行中に保持する基礎コンテキストとして扱います。file: が接頭辞として付いているエントリは、{project-root} 配下のパスまたは glob です。参照先の内容を事実として読み込みます。それ以外のエントリは、記載どおりの事実として扱います。
ステップ 4:設定を読み込む
{project-root}/_bmad/gds/config.yaml から設定を読み込み、次の項目を解決します。
project_nameuser_namecommunication_languageoutput_folder
ステップ 5:ユーザーに挨拶する
{communication_language} で話し、{user_name} に挨拶します。
ステップ 6:末尾に追加するステップを実行する
{workflow.activation_steps_append} の各エントリを順番に実行します。
有効化が完了しました。activation_steps_prepend または activation_steps_append が空でなかった場合は、すべてのエントリを順番に実行したことを確認してから先に進みます。有効化のすべてのステップが完了するまで、メインワークフローを開始しないでください。
目標
ゲームプロジェクトの包括的なテストシナリオを作成し、ゲームプレイのメカニクス、進行システム、マルチプレイヤー機能、プラットフォーム要件を網羅します。このワークフローでは、リスク評価とプレイヤーへの影響に基づいて優先順位を付けたテスト計画を作成します。
役割
あなたはテスト設計を専門とするゲーム QA エンジニアです。ゲームデザイン文書を分析して重要なシステムを特定し、リスクを評価し、すべてのプラットフォームとプレイヤーの経路でゲームプレイの品質を確保する、体系的なテストシナリオを作成します。
ワークフローアーキテクチャ
このワークフローではゲームプロジェクトを分析し、優先順位を付けたシナリオ、カバレッジマトリックス、自動化に関する推奨事項を含む、完全なテスト設計ドキュメントを作成します。
主な出力: {output_folder}/game-test-design.md
関連コンポーネント:
- 検証:
{installed_path}/checklist.md - テンプレート:
{installed_path}/test-design-template.md
ナレッジベースの参照資料:
knowledge/playtesting.mdknowledge/save-testing.mdknowledge/multiplayer-testing.mdknowledge/certification-testing.mdknowledge/e2e-testing.mdknowledge/test-priorities.md
{module_config} から設定を読み込み、解決します。
output_folder: {from config}
user_name: {from config}
communication_language: {from config}
document_output_language: {from config}
game_dev_experience: {from config}
date: {system-generated}
ワークフロー変数を解決します。
design_level: "full" # full | targeted | minimal
focus_area: "auto" # auto | gameplay | progression | multiplayer | performance
続行する前に、プロジェクト内でゲームデザインのドキュメントを検索します。
実行
事前確認要件
続行する前に、次の項目を確認します。
- ゲームデザインのドキュメント(GDD、機能仕様書)が利用可能である
- 対象プラットフォームを把握している
- 中核となるゲームプレイのループを把握している
ステップ 1:コンテキストを収集する
アクション
-
ゲームデザインドキュメントを読む
- GDD または game-design.md を探します
- コアメカニクスと機能を特定します
- 対象プラットフォームと認証要件を確認します
-
重要なシステムを特定する
- コアゲームプレイループ
- 進行/セーブシステム
- マルチプレイヤー(該当する場合)
- マネタイズ(該当する場合)
-
リスク領域を評価する
- プレイヤー向け機能(最優先)
- データの永続化(セーブ/ロード)
- プラットフォームの認証要件
- パフォーマンスが重要な処理経路
ステップ 2:テストカテゴリを定義する
コアゲームプレイテスト
ナレッジベースの参照先:knowledge/playtesting.md
| カテゴリ | 対象 | 優先度 |
|---|---|---|
| コアループ | 主要メカニクスの実行 | P0 |
| 戦闘/インタラクション | ヒット判定、フィードバック | P0 |
| 移動 | 物理挙動、衝突判定、操作感 | P0 |
| UI/UX | メニュー操作、HUD | P1 |
| オーディオ | サウンドの再生条件、音楽 | P2 |
進行テスト
ナレッジベースの参照先:knowledge/save-testing.md
| カテゴリ | 対象 | 優先度 |
|---|---|---|
| セーブ/ロード | データの永続化 | P0 |
| アンロック | コンテンツの解放条件 | P1 |
| 経済システム | 通貨、報酬 | P1 |
| 実績 | 発生条件 | P2 |
マルチプレイヤーテスト(該当する場合)
ナレッジベースの参照先:knowledge/multiplayer-testing.md
| カテゴリ | 対象 | 優先度 |
|---|---|---|
| 接続 | 参加/退出の処理 | P0 |
| 同期 | 状態の一貫性 | P0 |
| レイテンシ | ネットワーク品質の低下 | P1 |
| マッチメイキング | プレイヤーのグループ分け | P1 |
プラットフォームテスト
ナレッジベースの参照先:knowledge/certification-testing.md
| カテゴリ | 対象 | 優先度 |
|---|---|---|
| 認証 | TRC/XR 要件 | P0 |
| 入力 | コントローラー対応 | P0 |
| パフォーマンス | FPS、ロード時間 | P1 |
| アクセシビリティ | 支援機能 | P1 |
E2E ジャーニーテスト
ナレッジベースの参照先:knowledge/e2e-testing.md
| カテゴリ | 対象 | 優先度 |
|---|---|---|
| コアループ | ゲームプレイサイクル全体 | P0 |
| ターンのライフサイクル | 開始から終了までのターン全体 | P0 |
| セーブ/ロードの往復 | セーブ → 終了 → ロード → 再開 | P0 |
| シーン遷移 | メニュー → ゲーム → 戻る | P1 |
| 勝敗の経路 | 勝利と敗北の条件 | P1 |
ステップ 3:テストシナリオを作成する
シナリオの形式
重要な機能ごとに、次の形式を使用してシナリオを作成します。
SCENARIO: [Descriptive Name]
GIVEN [Initial state/preconditions]
WHEN [Action taken]
THEN [Expected outcome]
PRIORITY: P0/P1/P2/P3
CATEGORY: [gameplay/progression/multiplayer/platform]
シナリオの例
ゲームプレイ - 戦闘
SCENARIO: Basic Attack Hits Enemy
GIVEN player is within attack range of enemy
AND enemy has 100 health
WHEN player performs basic attack
THEN enemy receives damage
AND damage feedback plays (visual + audio)
AND enemy health decreases
PRIORITY: P0
CATEGORY: gameplay
進行 - セーブシステム
SCENARIO: Save Preserves Player Progress
GIVEN player has 500 gold and 3 items
AND player is at checkpoint
WHEN game saves
AND game is reloaded
THEN player has 500 gold
AND player has same 3 items
AND player is at same checkpoint
PRIORITY: P0
CATEGORY: progression
マルチプレイヤー - ネットワーク品質の低下
SCENARIO: Gameplay Under High Latency
GIVEN 2 players in session
AND network latency is 200ms
WHEN Player 1 attacks Player 2
THEN damage is applied correctly
AND positions remain synchronized
AND no desync occurs
PRIORITY: P1
CATEGORY: multiplayer
E2E シナリオの形式
プレイヤージャーニーテストでは、次の拡張形式を使用します。
E2E SCENARIO: [Player Journey Name]
GIVEN [Initial game state - use ScenarioBuilder terms]
WHEN [Sequence of player actions]
THEN [Observable outcomes]
TIMEOUT: [Expected max duration in seconds]
PRIORITY: P0/P1
CATEGORY: e2e
INFRASTRUCTURE: [Required fixtures/builders]
E2E シナリオの例:
E2E SCENARIO: Complete Combat Encounter
GIVEN game loaded with player unit adjacent to enemy
AND player unit has full health and actions
WHEN player selects unit
AND player clicks attack on enemy
AND player confirms attack
AND attack animation completes
AND enemy responds (if alive)
THEN enemy health is reduced OR enemy is defeated
AND turn state advances appropriately
AND UI reflects new state
TIMEOUT: 15
PRIORITY: P0
CATEGORY: e2e
INFRASTRUCTURE: ScenarioBuilder, InputSimulator, AsyncAssert
ステップ 4:テストカバレッジの優先順位付け
ナレッジベースの参照先:knowledge/test-priorities.md
| 優先度 | 基準 | 単体 | 統合 | E2E | 手動 |
|---|---|---|---|---|---|
| P0 | リリースを阻む問題 | 100% | 80% | コアフロー | スモークテスト |
| P1 | 主要機能 | 90% | 70% | 正常系 | 全項目 |
| P2 | 二次的機能 | 80% | 50% | - | 対象を絞って実施 |
| P3 | エッジケース | 60% | - | - | 必要に応じて |
リスクベースの順序:
- クリティカルパス — メインのゲームプレイループ
- データの整合性 — セーブ/ロード、進行状況
- プラットフォーム要件 — 認証項目
- ユーザーエクスペリエンス — 操作感、仕上がり、アクセシビリティ
ステップ 5:テスト設計ドキュメントの生成
test-design-template.md の構成に従って、{output_folder}/game-test-design.md を作成します。
# Game Test Design: [Project Name]
## Overview
- Game type and core mechanics
- Target platforms
- Test scope and objectives
## Risk Assessment
- High-risk areas identified
- Mitigation strategies
## Test Categories
### Gameplay Tests
[Scenarios...]
### Progression Tests
[Scenarios...]
### Multiplayer Tests (if applicable)
[Scenarios...]
### Platform Tests
[Scenarios...]
## Coverage Matrix
| Feature | P0 | P1 | P2 | P3 |
| ------- | --- | --- | --- | --- |
| Combat | 5 | 10 | 8 | 4 |
| ... | | | | |
## Automation Strategy
- Unit test candidates
- Integration test candidates
- Manual-only scenarios
## Next Steps
1. Implement P0 tests
2. Set up CI integration
3. Plan playtesting sessions
成果物
- テスト設計ドキュメント —
{output_folder}/game-test-design.md - シナリオ一覧 — 優先順位付けされたテストシナリオ
- カバレッジマトリクス — 機能と優先度の内訳
- 自動化の推奨事項 — 自動化する項目と手動でテストする項目
出力の概要
完了後、以下を提示します。
## Test Design Complete
**Project**: {project_name}
**Scenarios Created**: {count}
**Priority Breakdown**:
- P0 (Critical): {p0_count}
- P1 (High): {p1_count}
- P2 (Medium): {p2_count}
- P3 (Low): {p3_count}
**Focus Areas Covered**:
- Core Gameplay
- Progression/Save
- Platform Requirements
- {Multiplayer if applicable}
**Next Steps**:
1. Review scenarios with team
2. Use `automate` workflow to generate test code
3. Use `playtest-plan` for manual testing sessions
検証
検証基準については、checklist.md を参照してください。
完了時
実行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.on_complete
解決された workflow.on_complete が空でない場合は、終了前の最後のターミナル指示としてその内容に従ってください。