結局、テスト駆動開発とは何でしょうか?
結論
まずは、結論です。
テスト駆動開発とは、
①テストを書き、
②テストが通るようにプログラムを書き、
③テストが通ったらリファクタリングする
手法です。
普通の開発の仕方との違い
一般的な、開発方法としては、プログラムを書き、テストを行う。
その一方で、テスト駆動開発では、テストを先に書きます。
このことにより、テストを通じて、バグの早期発見ができることが強みとされています。
ただし、その一方で、
・一般的なコーディングスタイルとは異なるため、慣れが必要
・テストケースを書きすぎると、開発に時間がかかる
等の課題もあります。
個人的な感覚としては、まずは一般的な開発手法に慣れたプログラマーが、Next Stepとしてやってみることをおすすめします。
参考文献
以下、参考文献です。
テスト駆動開発(Kent Beck)
テスト駆動開発の原典ともいうべき、書籍です。 まずは、テスト駆動開発を理解するためにも、一読されることをオススメします。
テスト駆動Python
テスト駆動の本というよりは、pytestの本です。 上記でテスト駆動開発について学んだ後、実際のテストコードを書き方を学ぶ上で推奨します。