What is TDD? If somebody asks me to explain TDD in few words, I say TDD is a development of tests before a feature implementation. You can argue that it’s hard to test things which are not existing yet. And Kent Beck will probably give you a slap for this. So how is it possible? It can be described by following steps: 1. You read and understand requirements for a particular feature. 2. You develop a set of tests which check the feature. All of the tests are red, due to absence of the feature implementation. 3. You develop the feature until all tests become green. 4. Refactor the code. TDD requires a different way of thinking, so in order to start TDD you need to forget the way you developed code before. This process is very hard. And it is even harder if you don’t know how to write unit tests. But it’s worth it. Developing with TDD has valuable advantages: 1. You have a better understanding of a f...
Blog based on my internship year as a Software Engineer Intern at hSenid Mobile Solutions.