STAR法完全ガイド:面接で成功するための構造化された回答テクニック
きたたく
きたたくブログ
ソフトウェア開発では、バグ(不具合)をできる限り減らし、きちんと要望通りに動作するプログラムを作ることがとても大切です。もしバグが多いままリリースしてしまうと、ユーザーが困ってしまったり、会社に損害が出ることがあります。
そこで多くの開発現場では、コーディングがひと段落した後にテストを行い、バグを探し出すという手順が一般的でした。しかし、この手順では「実装が全部終わってからテストする」ため、もし大きなバグが見つかったらコードを大幅に書き直す必要があり、時間やコストが大きくかかってしまいます。
TDD(テスト駆動開発)は、そんな従来のやり方と真逆の発想を取ります。つまり、「実装する前にテストを書く」のです。最初にバグを見つける仕組み(テスト)を用意してしまい、そこに合わせてコードを書くことで、すぐに不具合を見つけて修正することができます。
この3つのステップをセットでグルグル回していくのがTDDの最大の特徴です。
TDDは「エクストリーム・プログラミング(XP)」と呼ばれるアジャイル開発手法の一部として広まりました。とにかく短いスパンでテストしながら実装を進めることで、バグを早期に発見・修正できるようになり、最終的な品質も高くなると言われています。
実際、マイクロソフトやIBMなど大手企業の調査によれば、TDDを導入すると事前リリース時のバグが40~90%も減ったと報告されています。一方で開発初期の手間は増えますが、長い目で見るとむしろ生産性が上がるケースが多いのです。