Having worked as a software engineer for 6 years, I have been developing software for all this time. In this book, I emphasize on the quality of the software. I rather focus on the theoretical part of software testing as well as software quality assurance. After knowing the theories, I tried to emphasize some methodology to be use while programming so that the end quality of the code is definitely better. This topic is undertaken because everyone in this industry writes code to develop application but how much the written code is matured is a questionable thing. Here I tried to emphasize on Test Driven Development as practical exercise. Simply stating forward, TDD means to write test codes before writing production code. Production code is written either to correct code compilation problem or to correct test cases assertion failure. On the software quality area, I touch on system of the technical environment. A developer should be able to tag, build, deploy, restart server etc all automatically. A script is written to automate this process.