What Does Your Software Deployment Look Like?Held together with duct tape? You change one part and another stops working? You “fix” one bug, but it creates another? Or Everything is consistent and beautiful. Everyone on your team works together like clockwork in a disciplined manner.
Test-Driven DevelopmentWith Test-Driven Development (TDD), your team can get on the path to having a project everyone loves working on. As you implement TDD, experiential learning may help motivate developers to write unit tests. Once you have been on a team that has unit tests, you can truly see the difference. Other team members may say that they do not have the time or that unit tests are unnecessary. Concentrating on finding the right solution is infinitely more important than worrying about time wasted. And in reality, unit tests may actually help you SAVE time. I have rarely had a better feeling than when I see a safety net of unit tests catch a hard-to-find bug. You might have spent days looking for the cause of the bug. Alternatively, one test goes red and instead of wasting time looking for a bug, you can move on. To truly see the difference, you could try a coding example like TDD KATA, with and without the unit tests. For a more comprehensive approach, and to feel more comfortable with TDD, try some of these books using your language of choice:
- Test-Driven Development with Python, by Harry Percival
- Test Driven Development: By Example, by Kent Beck
- Angular Test-Driven Development, by Md. Ziaul Haq
- Test Driven Development in Ruby, by Bala Paranj
- Scala Test-Driven Development, by Gaurav Sood