テスト駆動開発の利点

2014-03-18 00:00:00 +0000

テスト駆動開発の利点について説明します。

一般的になりつつあるテスト駆動開発ですが、主に次のようなメリットがあります。

  1. バグが少なくなる テスト駆動開発では大小様々な論理的なエラーがすぐに発見でき、欠陥を未然に防ぐことができます。

  2. デバッグ時間が短くなる バグが少ないのでデバッグの時間が短くなります。

  3. 副作用による欠陥が少なくなる 想定や制約、代表的な使い方をテストできるため、新たなコードが制約や想定に違反した場合に検出できます。

  4. ドキュメントにウソがない よく整備されたテストは実行可能で明瞭なドキュメントとなります。

  5. 心の平安が保たれる 回帰テストされたコードは確信を与えてくれます。

  6. デザインが改善される テスト可能な設計はよい設計です。 長い関数や密結合なコード、複雑な条件文を書くと複雑でテストしにくいコードになります。 テストを書くのが難しい、というのは設計に問題があるという警告です。

  7. 進捗の把握 どのテストが成功し、失敗するかを把握することによって、どこまで完成したのか、何に取り組んでいるのかがわかります。

  8. 楽しみとやりがい テスト駆動開発では即座にフィードバックが得られます。 コードを書くたびにテストが成功し、正しいことを確認できます。

テストというと、面倒なイメージがありますが、テストコードを先に書いてそれを満たすコードを書いてフィードバックを得る、という短いサイクルをリズミカルに回していくと、ゲーム感覚でテストができます。 テスト駆動開発はゲーミフィケーションの一種と言えます。

関連する記事

将棋DB2
プロ棋士からコンピューター将棋の棋譜まで観られる将棋の棋譜サービス
将棋DB iOS
将棋DB2のiOSアプリ
将棋DB Android
将棋DB2のAndroidアプリ
碁DB
プロ棋士からコンピューター囲碁の棋譜まで観られる囲碁の棋譜サービス