CodeProject Introduction In part 1 of this mini-series, we will develop a trivial business logic layer from scratch with a TDD approach with the goal of achieving the following: Better code quality through Red, Green, Refactor Documentation that grows as we develop and remains up to date Automatic regression test harness This will primarily involve creating unit tests first , having them fail , making them pass and then refactoring the code to be of better quality and then re-running the tests. When using tools such as resharper to aid in refactoring code , having the tests in place right from the beginning really gives you peace of mind that you haven't broken anything. It also helps the thought processes while designing and developing an application or feature to be more targeted. We will further develop the application in part 2 to add an MVC4 web client and continue the TDD story... Some Background Test First or Test Driven development is...