Introducing Test Driven Development to an existing environment
- How should you introduce Test Driven Development (TDD) into an old project?
- How to convince your team members?
- How do you proceed when the code is stopping you from implementing unit tests ?
This post will answer all these questions and more!
1. Intro & Definition
First, I will tell you something more about my interpretation of Test Driven Development. A quick explanation of my experiences with automated testing will be given and why I think you should introduce TDD in your projects.
I do not profess the end to all your problems, but merely aspire to provide you with extra tools to tackle your software development issues!
2. Benefits & Disadvantages
This section will expand on the believe that TDD can help you deliver higher quality code by forcing you to adhere to SOLID principles, while actually speeding up your development process as well!
We also touch on some of the common pitfalls and disadvantages of unit-testing and TDD in general.
3. Should I implement TDD?
There are always some questions you should ask yourself before implementing TDD into a project.
I will try to give some advice on a few of the most commonly occurring scenarios, but this will mostly be an individual (or team) decision… .
That being said, when in doubt, TEST!
4. Identifying obstacles
Next, we’ll take a look at some of the most common problems with introducing TDD into an existing project and how you can tackle them.
Untestable architecture, legacy code-base, stubborn team members,… The world of software development has a lot of ways to spoil your TDD plans! Learn how you can overcome them!
5. Starting out
Let’s find a quick and easy way to reap the benefits of TDD immediately!
True Test Driven Development is not always easy. So here is a way how you can get a lot of the benefits of this technique right of the bat, while you get yourself comfortable with all the techniques and syntax.
Now, a lot has already been said and even more has been implied.
So let’s gather our thoughts and recap quickly.
Most importantly I’d like to thank you for taking the time to listen in!
Please remember that you are welcome to post any questions or criticism in the comment section!