This is a technical report I made on Agile Tour 2010 Chengdu. It mainly introduces three major elements of TDD: test first, iteration increment and reconstruction. The report focuses on several issues that need to be understood during TDD development:
1. Why does TDD advocate writing test cases first?
2. What is the essence of test cases in TDD?
3. How to Write unit test cases?
4. What are the characteristics of iterative incremental development compared with waterfall development?
5. What is the difference between the software hierarchy generated by iterative incremental development and the traditional three-layer structure hierarchy?
6. What is the difference between a unit and an atom?
7. What layers should unit tests cover?
8. What is the purpose of refactoring?
9. How to Integrate refactoring with testing first?
10. How can reconstruction be combined with iterative incremental development?
Download link