TDD(テスト駆動開発)
Test-Driven Development(TDD) は、実装コードよりも先にテストコードを書き、テストを通過させながら設計・実装を進める開発手法。「テストが設計を駆動する」という思想が核心で、より良い設計とクリーンコードを導く実践的なプラクティス。
基本サイクル(Red-Green-Refactor)
1. Red — 失敗するテストを書く(まだ実装がないため)
2. Green — テストが通る最小限のコードを実装する
3. Refactor — コードをリファクタリングし、品質を高める
このサイクルを小さく繰り返すことで、仕様が明確なコードが積み上がっていく。
TDD の価値
- 設計品質の向上: テストを書きやすいコードは、疎結合で責務が明確な傾向がある
- 回帰テストの自動化: 変更時に既存機能への影響を素早く検証できる
- 仕様の明文化: テストがドキュメントとして機能する(実行可能な仕様書)
- リファクタリングへの安心感: テストがあることで大胆な改善が可能
MIXI での位置づけ
MIXI の「テスト・設計研修」では TDD をコアに採用している。
目標: TDD そのものの価値や実践方法の理解 + 開発時の設計思考 + きれいなコードを書く力の習得
実際にコーディングをしながら以下を習得:
- TDD の価値と実践方法
- 設計思考(どう考えて設計するか)
- よりきれいなコードを書く技術
MIXIでは「設計やコードの品質も実際のサービス開発において重要な観点」として位置づけられており、テスト・設計研修が基礎スキル段階に組み込まれている。
関連概念
- ISTQB — テスト設計手法の国際標準フレームワーク。TDD とは視点が異なる(TDD は開発プロセス、ISTQB はテスト技法の体系)
- エンジニア新卒研修(MIXI 2025年版) — テスト・設計研修でTDDを採用
関連エンティティ
- MIXI — テスト・設計研修の核心手法としてTDDを採用