- テスト駆動開発の情報
- メリットデメリット
- 注意点
- 利用する上で押さえておくべきポイント
- 実際の活用法
- クリーンアーキテクチャと合わせて使うためそれを踏まえた活用法
- その他
- テスト駆動開発を行う上でのルールぎめ
- クリーンアーキテクチャと、テスト駆動開発を併用するためその上でのルール
- その他実際に活用していく上で決めることや、全体で把握しておくべきことなどあれば宜しくお願い致します。
テスト駆動開発について
テスト駆動開発 (TDD) は、プログラミングにおいてテストを最初に書き、そのテストを通過するコードを書くことで品質を確保する手法です。TDD を利用することで、開発者は品質の高いコードを効率的に書くことができます。ただし、TDD を正しく使うためには、いくつかのポイントを押さえる必要があります。この記事では、TDD のメリットデメリット、注意点、利用する上で押さえておくべきポイント、実際の活用法、クリーンアーキテクチャと合わせて使うための活用法について解説します。
テスト駆動開発のメリットデメリット
メリット
- 品質の高いコードを効率的に書くことができる
- 実装されたコードが想定通りに動作するかどうかを確認することができる
- 後でコードを変更する際にも、その変更が既存のコードに影響を与えないかどうかを簡単に確認できる
デメリット
- テストコードを書く手間が増える
- 初めてTDDを導入する場合は、開発プロセスにおいて時間がかかることがある
ただし、これらのデメリットは既にテストコードを書く習慣がついている場合はほぼ無視できる
テスト駆動開発を行う上での注意点
- テストコードを書くときには、テストのためのコードであるということを意識して書く必要がある
- テストコードは適切にリファクタリングする必要がある
- テストコードのリファクタリングは実装コードとは考え方が異なる点に注意する
- 例えば DRY を意識しすぎるとテストコード間で依存関係が発生し以下の問題が起きる
- そのテストの実施前に何か前処理が挟まれていないか?
- 共通化したテストコードの修正時、別テストケースへの影響に問題がないか?
- そのテストが「何を担保しているのか」が一読してわかるか?
- テストコードもコードレビューの対象となる