something about TDD
What is Test Driven Development?
This is question asked by one of my friend. Here i am writing my answer for that. Test Driven Development means writing Test Cases first and then developing code. This is best way to achieve a test suit. Its time consuming process, but in my open source project and my personal recomendation is to follow Test Driven Development. There are lots of reason i have found for that from the opensource project i have written and i am writing now.
i). Any time you can change the internal structure of the project without changing the functionality. Your test cases makes sure that your chages is right or wrong.
ii). Writing test cases will makes you to break down the code according to functionality. and ensures that that part is tested succesfully
iii). If a new person, who knows the project partially can add/change the code[no need to worry about wether its effect to other part of project]
iv). Doing TDD we can tell exact persentage of project status.
Some disadvantages are:
i). its boring task, not a creative work
ii) time consuming while following a faster schedule.
iii). Developer must have a good understanding on the automated testing API[JUnit or TestNG,..]
This all are my understandings that i got from books and my experiance.
please reply your comments on this