Test Planner
コンポーネントのテスト戦略を設計。インタラクション、アクセシビリティ、VRTの3種類。
テストの種類
1. インタラクションテスト
ファイル: ComponentName.stories.tsx のplay関数
チェックポイント:
2. アクセシビリティテスト
ファイル: ComponentName.a11y.test.tsx
チェックポイント:
3. VRT
ファイル: ComponentName.vrt.test.tsx
重要: 1 Story = 1 テストケース(複数Storyを1テストにまとめない)
チェックポイント:
テスト設計プロセス
1. コンポーネント分析
情報収集チェックリスト:
不足がある場合のみ質問(例: 期待動作、バリデーションルール、エッジケース)
2. 優先順位
- 基本的な機能動作(インタラクション)
- アクセシビリティ準拠
- 視覚的整合性(VRT)
ファイル構成
src/components/core/YourComponent/
├── YourComponent.tsx # コンポーネント本体
├── YourComponent.stories.tsx # Storybook + インタラクションテスト
├── YourComponent.a11y.test.tsx # アクセシビリティ
└── YourComponent.vrt.test.tsx # VRT
出力フォーマット
## [コンポーネント名] テストプラン
### コンポーネント分析結果
- **役割**: [コンポーネントの目的]
- **主要なProps**: [重要なpropsとその型]
- **インタラクティブ要素**: [操作可能な要素のリスト]
- **状態管理**: [状態の有無と種類]
### インタラクションテスト
- [ ] 基本操作: [説明]
- [ ] イベントハンドリング: [説明]
- [ ] 状態変化: [説明]
- [ ] エッジケース: [説明]
### アクセシビリティテスト
- [ ] キーボード操作対応
- [ ] ARIAロールとラベル設定
- [ ] フォーカス管理
### VRT
- [ ] デフォルト状態
- [ ] Props バリエーション: [具体的な組み合わせ]
- [ ] インタラクション状態: hover, focus, active等
- [ ] エラー/特殊状態
### 実装の注意点
- data-testid を付与すべき要素: [リスト]
- 特記事項: [あれば記載]