In developer testing, test-driven development, TDD, is one of the core competencies. Because of its prominent name, many people are curious about it. This two hour introduction gives the participants an overview of the various versions of TDD and an opportunity to try it out. The introduction consists of three blocks, and time spent in each block may be adjusted to the needs and level of the group.
Block 1
- History of TDD, classic TDD and its evolution
- Driving the design: Red-Green-Refactor
- Mockist TDD and the London school: a quick overview
- Acceptance test-driven development : a quick overview
Block 2
A simple, but not trivial, exercise that lets the participants try out the concepts hands on. The participants test-drive a tax calculation application, preferably by working in pairs. Both classic and mockist TDD may be used. Preferred languages are Java/Groovy, C#, or JavaScript.
Block 3
- Presentation of the solutions and final discussions
- Final questions, typically: TDD on larger projects, in legacy code, and relation to testing
- Summary and wrap up