mcpField
T
tdd-workflow

tdd-workflow

github.com/vudovnテスト・品質8.2k180 回インストール9 週間前に更新
リポジトリ

tdd-workflow について

開発者向けの段階的なテスト駆動開発ガイドです。先に失敗するテストを書き、最小限の実装を行ってからリファクタリングする流れを示します。テストの整理、優先順位、複数エージェントでの進め方も扱います。

主な機能

  1. 01RED-GREEN-REFACTORサイクル
  2. 02TDDの三つの法則
  3. 03AAAテスト構成パターン
  4. 04テストの優先順位とアンチパターン
  5. 05複数エージェントの役割例

活用シーン

  1. 01機能開発前の振る舞いテスト作成
  2. 02修正前の不具合再現
  3. 03テストを維持しながら段階的にリファクタリング

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vudovn/ag-kit --skill tdd-workflow

インストール後、Claude Code で/tdd-workflowを入力して読み込まれたか確認します。

詳細

TDD ワークフロー

まずテストを書き、次にコードを書く。


1. TDD のサイクル

🔴 RED → Write failing test
    ↓
🟢 GREEN → Write minimal code to pass
    ↓
🔵 REFACTOR → Improve code quality
    ↓
   Repeat...

2. TDD の三つの法則

  1. 失敗しているテストを通すためにだけ、プロダクションコードを書く
  2. 失敗を示すのに十分なだけテストを書く
  3. テストを通すのに十分なだけコードを書く

3. RED フェーズの原則

何を書くか
観点例
振る舞い「2 つの数値を加算できること」
エッジケース「空の入力を扱えること」
エラー状態「不正なデータに対して例外を投げること」
RED フェーズのルール
  • テストは最初に失敗しなければならない
  • テスト名は期待される振る舞いを説明する
  • 1 テストにつきアサーションは 1 つ(可能な限り)

4. GREEN フェーズの原則

最小限のコード
原則意味
YAGNI必要になるとは限らない機能は作らない
最も単純な方法テストを通す最小限のものを書く
最適化しないまずは動くようにする
GREEN フェーズのルール
  • 不要なコードは書かない
  • まだ最適化しない
  • テストを通すこと以外はしない

5. REFACTOR フェーズの原則

改善対象
領域対応
重複共通コードを抽出する
命名意図が明確になるようにする
構造構成を改善する
複雑さロジックを単純化する
REFACTOR のルール
  • すべてのテストがグリーンのままであること
  • 小さく段階的に変更する
  • リファクタリングのたびにコミットする

6. AAA パターン

すべてのテストは次に従います:

ステップ目的
Arrangeテストデータをセットアップする
Actテスト対象のコードを実行する
Assert期待される結果を検証する

7. TDD を使うべきとき

シナリオTDD の価値
新機能高
バグ修正高(先にテストを書く)
複雑なロジック高
探索的な作業低(スパイクを行い、その後 TDD)
UI レイアウト低

8. テストの優先順位

優先度テストの種類
1正常系
2エラーケース
3エッジケース
4パフォーマンス

9. アンチパターン

❌ やめること✅ 推奨
RED フェーズを飛ばす最初にテストが失敗するのを確認する
後からテストを書く先にテストを書く
最初から過剰設計するシンプルに保つ
1 テストに複数のアサーション1 テストにつき 1 つの振る舞い
実装をテストする振る舞いをテストする

10. AI を活用した TDD

マルチエージェントパターン
エージェント役割
エージェント A失敗するテストを書く(RED)
エージェント Bテストを通すように実装する(GREEN)
エージェント C最適化する(REFACTOR)

覚えておくこと: テストは仕様である。テストが書けないなら、要件を理解していないということです。

コメント