[tweetmeme source=”snarayan” only_single=false]
Test Driven Development (TDD) in its lamest form is understood as “Write your tests first”. This is how most developers understand it. Some follow it too.. But is that all?
TDD as its popularly known, is not only about writing tests first. It is about Design, releases and a software philosophy. Some of the prime features of TDD are
1. Simple & Evolutionary Design
Design to your current set of requirements. Do not bloat your design with unneccessary patterns and frameworks, unless you see a real advantage of using them.
2. Acceptance Criteria
Have boundaries of development, clearly defined by acceptance criteria. This helps you define what you’re trying to achieve. So that translates to your tests. Tests are your acceptance criteria for each line of code that you write. This helps you understand the requirement much better, hence result in getting closer to the solution and an overall efficient development process.
These are the major aspects of TDD that we practice. Testing is one aspect of it, not the whole.