Email the Author
You can use this page to email Fiodar Sazanavets about TDD: How to Do it Properly and Why It's Easy.
About the Book
If you are a software developer, you have probably heard of test-driven development (TDD). Some people even insist that you can't write good quality software without it!
We will not argue about whether or not TDD is essential. What this short booklet will do is show you how to apply TDD in real-life projects. By the time you finish reading it, you will also understand that, at the very least, TDD can be very useful. Also, it's not as complicated as many people think. Once you do it a few times, you will see that it's actually easy.
There are many approaches to doing TDD. There are also many opinions on what TDD is and isn't. In this booklet, we will not discuss any of this. We will just focus on the TDD approach that works. This booklet distills all the philosophy, arguments, etc. into a small number of fundamental principles you can learn easily and apply right away.
There are many good TDD books out there, such as "Test-Driven Development by Example" by Kent Beck. However, such a book will take you hours to read. I know you are busy. You may not have a few hours to spare. And this is precisely why I created this booklet for you.
The information provided here will take you less than an hour to read. And you can apply it right away. Then, if you still want to expand your theoretical knowledge of TDD, you can still read a book about it.
After all, TDD is not complicated at all. Let me show you exactly why.
Here is a list of the take-away skills this booklet will give you:
- Understanding of fundamental TDD principles
- Knowing how to follow the TDD process from beginning to end
- Knowing how to apply TDD to new software
- Knowing how to apply TDD while modifying the existing software
- Knowing how to easily overcome problems and blockers while doing TDD
But most importantly, the information is presented to you in such a way that you will be able to apply all of these right away.
About the Author
I am a senior software engineer working for Microsoft. I have over a decade of professional experience and am a past recipient of the Microsoft MVP award. I primarily specialize in .NET and Microsoft stack. I am enthusiastic about creating well-crafted software that fully meets business needs.
Throughout my career, I have successfully developed software of various types and various levels of complexity in multiple industries. This includes a passenger information management system for a railway, distributed smart clusters of IoT devices, e-commerce systems, financial transaction processing systems, and more. I have also successfully led and mentored teams of software developers.
I enjoy sharing my knowledge with the community. This motivates me to mentor aspiring developers and create educational content, which includes blog posts, technical books, and online courses. I regularly write about software development on my personal website, scientificprogrammer.net.