スポンサーリンク

テスト駆動開発(TDD)の基本:具体例と実践ステップ

プログラミング
スポンサーリンク
本ページにはプロモーションが含まれています。
スポンサーリンク

テスト駆動開発(TDD: Test-Driven Development)とは

テスト駆動開発(TDD: Test-Driven Development)は、ソフトウェア開発手法の一つで、テストを書くことから始め、そのテストを満たすようにコードを実装していくプロセスです。これにより、設計が慎重に行われ、バグが減るというメリットがあります。

テスト駆動開発(TDD: Test-Driven Development)の3つのステップ

基本的な流れは次の3つのステップから成ります。

  1. Red: まずテストを書く。この時点ではテストは失敗する(Red)。
  2. Green: 最小限のコードを実装してテストを通過させる(Green)。
  3. Refactor: コードをリファクタリングして改善する。テストが再び通ることを確認する。

具体例

例えば、整数のリストを受け取り、そのリストの合計を返す関数 sum_list を実装するとします。

1. テストを書く(Red)

まず、関数 sum_list が正しく動作するか確認するテストを書きます。

def test_sum_list():
    assert sum_list([1, 2, 3]) == 6
    assert sum_list([0, -1, 1]) == 0
    assert sum_list([]) == 0

この時点では、sum_list 関数がまだ存在しないため、このテストは失敗します(Red)。

2. 最小限のコードを書く(Green)

次に、テストが通るように最小限のコードを書きます。

def sum_list(numbers):
    return sum(numbers)

これでテストを実行すると、テストが通過します(Green)。

3. リファクタリング(Refactor)

コードが単純な場合、リファクタリングの必要はないかもしれませんが、複雑なロジックや冗長な部分がある場合は、ここでリファクタリングを行い、コードをきれいに保ちます。例えば、この例では sum() を使っているため、特に改善する必要はないでしょう。

テスト駆動開発のポイント

  • 失敗するテストを書くことから始める: テスト駆動開発では、最初に失敗するテストを書くことで、何を期待しているのかを明確にします。
  • 小さなステップで進む: 一度に大きな機能を実装するのではなく、小さなステップで進みます。テストを通すために必要な最小限のコードを書いて、それを次々と積み上げていくことで、設計が自然に進みます。
  • 常にテストが通る状態を保つ: テスト駆動開発では、常にテストが通る状態を維持することが重要です。これにより、安心してコードを変更できます。

このプロセスを繰り返すことで、信頼性の高いコードを段階的に開発することができます。

タイトルとURLをコピーしました