A questão cobra conhecimento sobre o processo do desenvolvimento baseado em teste (test-driven
development — TDD).
No TDD, “os
requisitos para um componente de software servem de base para a criação de uma
série de casos de teste que exercitam a interface e tentam encontrar erros nas
estruturas de dados e funcionalidade fornecida pelo componente" [1]. Com isso, o TDD é uma prática, utilizada de
forma ampla nas metodologias ágeis de desenvolvimento de software, onde o
desenho e execução de testes são realizados antes da criação do código-fonte do
sistema.
Em suma, o
processo TDD funcionada da seguinte forma:
1. É criado um teste antes de ser criado o primeiro
segmento de código (já com a expectativa de falha).
2. O código necessário para satisfazer ao teste é
escrito.
3. O teste é executado novamente:
a. Se o teste não tiver sucesso, o segmento do código
é corrigido e todos os testes criados até aquele ponto são executados novamente.
b. Se o teste passar, o código é refatorado, caso
seja necessária uma melhoria de qualidade do código desenvolvido.
4. Um novo teste é criado para o próximo segmento
de código a ser desenvolvido, retornando ao ponto 2.
O processo
acima continua até que o módulo ou sistema esteja completamente codificado, satisfazendo
todos os requisitos, e todos os testes passem com sucesso.
Assim, a refatoração deve acontecer após o código do software ter sido
escrito e testado.
Gabarito
da professora: Letra A.
Referência:
[1] Engenharia de software: uma
abordagem profissional, Roger S. Pressman; tradução Ariovaldo Griesi ; revisão
técnica Reginaldo Arakaki, Julio Arakaki, Renato Manzan de Andrade. – 7. ed. –
Dados eletrônicos. – Porto Alegre : AMGH, 2011.