Na atividade de TDD (test-driven development), a escrita de teste primeiro define implicitamente tanto uma interface quanto uma especificação do comportamento para a funcionalidade que está sendo desenvolvida, estando, entretanto, a viabilidade do uso dessa abordagem limitada aos processos de desenvolvimento de software que seguem as práticas ágeis. ERRADO
A especificação do comportamento pode ater ser implicita, mas a interface é explícita.
TDD, apesar de ser Ágil, pode ser usado em qualquer processo de desenvolvimento de software
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].
Conforme Sommerville,
o TDD “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" [2].
Assim, o
TDD é uma prática que enfatiza a criação do desenho e a execução de testes antes
da criação do código-fonte do sistema e, apesar de ser utilizada de forma frequente
nos processos ágeis de desenvolvimento de software, não é uma prática exclusiva
de determinada vertente de processo de desenvolvimento.
Gabarito
da professora: ERRADO.
Referências:
[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.
[2] Engenharia de
Software, Ian Sommerville; tradução Ivan Bosnic e Kalinka G. de O. Gonçalves;
revisão técnica Kechi Hirama. — 9. ed. — São Paulo: Pearson Prentice Hall, 2011.