テスト駆動開発(TDD)について簡単に書いてみた。
2019-06-05
azblob://2022/11/11/eyecatch/2019-06-05-introduction-to-tdd-000.jpg

初めに

こんにちは。ここしばらくde:codeの盛り上がりが冷めやらぬ感じが続いてますね。私の担当するblogは安心してください。いつも通りです。ブレません。
まぁ、ぶっちゃけそろそろ違う話のBlogが恋しくなってきたところではないでしょうか?
そうであってほしいと思いながらタイピングしています。 お口直し(コース料理でいうソルベ)的なものだと思って読んでいただければうれしいです。

テスト駆動開発(TDD)

今日はTDDのお話です。今、私が参画しているProjectでも行われています。
とりあえず、言葉の説明をしましょうね。
テスト駆動開発とは、Kent Beck(ケント・ベック)さんが提唱した開発手法です。 Kent Beckさんの著書で、「原典」とも呼ばれるらしい「テスト駆動開発入門」には、

「動作するきれいなコード」、ロン・ジェフリーズのこの簡潔な言葉は、TDD(テスト駆動開発)の目標である。動作するきれいなコードは、あらゆる理由で価値がある。

きれいなコードを書く事が目標なんですね。
日々コードを書いていますが、きれいなコードを書くって難しいんですよね。
どうやってきれいなコードを書いていけばいいかというと、2つの方法があります。

  • きれいなコードを書きながら動作するように直していく
  • 動作するコードを書きながらきれいに直していく

TDDはこのうち後者の「動作するコードを書きながらきれいに直していく」道をとります。
つまり、まず動くようにしてから綺麗にしていきます。なぜこの道かというと、何はともあれ「動作」していなければ、製品としての価値はないということが一つです。

他にも、この「動かない」→「動く」の境界を超えるときに多くの「気づき」が得られるということもあります。フィードバックは早ければ早いほど修正が容易です。まずは動くように書き、フィードバックを得て素早く修正していくのがTDDということになります。

まとめ

今日はTDDについて簡単に書かせていただきました。
僕自身、TDDで開発を進めるのが初めてで、めっちゃビビり気味で足を踏み入れたのですが、すんなり受け入れられました。さすがに今回は短すぎるので、次も続きで書いていこうと思います。