Gratification
TDD is an investment
Evolution
Lasse Koskela in "TDD and Acceptance TDD"
“TDD is a technique that evolves together with the practitioner.”
Level 1
Benefits
- High code coverage
- Short feedback loop
- Regression testing
Level 2
Working with tasks
Level 2
Evolving task list - 1
- Skip not defined account
- Skip not configured account
- Email sent - create a task
- Support email unsubsribed
Level 2
Evolving task list - 2
- Skip not defined account
- Skip not configured account
- Email sent - create a task
- Support email unsubsribed
Level 2
Evolving task list - 3
- Skip not defined account
- Skip not configured account
- Report error on wrong mapping
- Email sent - create a task
- Support email unsubsribed
Level 2
Evolving task list - 4
- Skip not defined account
- Skip not configured account
- Report error on wrong mapping
- Email sent - create a task
- Support email unsubsribed
Level 2
Cucumber
Scenario: Customer has a broker policy so DOB is requested
Given I have a "Broker" policy
When I submit my policy number
Then I should be asked for my date of birth
Level 2
Benefits
- Focus on requirements
- Tests are executable specification
Level 3
“Show me your tests, and I will tell you everything about your production code.”
Level 3
Benefits
- Code easy to rewrite
- Clean architecture
TDD
Build better software
Created by Michał Lewandowski / @lewandm4