O desenvolvimento dirigido a testes é uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código. Essencialmente, você desenvolve um código de forma incremental, em conjunto com um teste para esse incremento. Você não caminha para o próximo incremento até que o código desenvolvido passe no teste. O desenvolvimento dirigido a testes foi apresentado como parte dos métodos ágeis, como o Extreme Programming. No entanto, ele também pode ser usado em processos de desenvolvimento dirigido a planos.
As etapas do TDD são:
1) Identificar nova funcionalidade
2) Escrever teste
3) Executar o teste
4) Implementar funcionalidade e refatorar
Fonte: Sommerville, 9 Edição, Capítulo 8, Página 155.
Observe que primeiramente os testes são escritos. Como a funcionalidade ainda não foi implementada, o teste irá "quebrar". É neste momento que as funcionalidades serão implementadas e refeitas até que o teste seja executado com sucesso. Portanto, letra E é a correta.