Test-Driven Development (TDD) implica la scrittura di un test automatizzato fallito per specificare cosa deve essere costruito. Il test viene quindi fatto passare scrivendo un codice che soddisfi la condizione testata. Infine, il codice viene refactoring.