This workshop focuses on the foundations of TDD, unit testing and automated refactoring with the help of various patterns, strategies, tools and techniques. It also helps in learning the mocking frameworks to perform unit testing and control bugs in the initial stage of development. Participants will learn TDD challenges in legacy code and how to overcome those. Participants are going to participate in extensive TDD exercises and build a mind-set in driving development by test cases. Participants are also going to learn about, how to avoid falling back into traditional development first and unit test later mindset.