はじめに 実務においてテスト駆動開発でシステム設計を行うことがなかったので、学習の一環としてまとめます。 調べる前は、「テストする前にテストコードを書くくらい」といった印象。 テスト駆動開発とは? テスト駆動開発(Test-Driven Development)の略称としてTDDと呼ばれています。 テストファーストの思考に基づく開発手法の一つで、ウォータフォールでよくある「設計→実装→テスト」のプロセスではなく、「テスト→実装→リファクタリング」 といった流れを何度も繰り返ししてプロダクトを成長させていくような開発手法です。 テスト駆動開発は、「レッド」「グリーン」「リファクタリング」のステップで構成されています。 【レッド】実装した機能の要件をもとに失敗するテストコードを書く テスト駆動開発では「必ず失敗するコードを書く」、つまり、実装したい機能を実現するコードが一切書かれていない場合で
![テスト駆動開発(TDD)って何? - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/8fc42f552089b75b567532994623cf65a066c97a/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgzJTg2JUUzJTgyJUI5JUUzJTgzJTg4JUU5JUE3JTg2JUU1JThCJTk1JUU5JTk2JThCJUU3JTk5JUJBJTI4VEREJTI5JUUzJTgxJUEzJUUzJTgxJUE2JUU0JUJEJTk1JTNGJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0yNzA5OGQyZTRlMTA1ZmZjMTA2YmNiOTk5ZDVkMTM1NQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBraW1fdDA4MTQmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTk1YzNiZDNiNzRjMWI2YzRmYjZjZGMyNDQ1NjZkYzI3%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D73026b4235642cd03b71d5d208014fd6)