-
TDD é justamente o contrário disso, o teste vem antes
-
Test Driven Development (TDD) ou em português Desenvolvimento dirigido por testes é uma técnica de desenvolvimento de software que baseia em um ciclo curto de repetições: Primeiramente o desenvolvedor escreve um caso de teste automatizado que define uma melhoria desejada ou uma nova funcionalidade. Então, é produzido código que possa ser validado pelo teste para posteriormente o código ser refatorado para um código sob padrões aceitáveis.
-
O desenvolvimento guiado por teste dá uma visão mais ampla do que deve ser feito ao desenvolvedor, pois antes de criar a funcionalidade, deve-se criar um teste da funcionalidade
-
Segundo Pressman:
Em desenvolvimento baseado em teste (test-driven development— TDD), 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. A TDD não é realm ente um a nova tecnologia, mas sim uma tendência que enfatiza o projeto de casos de teste antes da criação do código-fonte.
O processo TDD segue o fluxo procedural simples ilustrado na Figura 31.3. Antes de ser criado o primeiro segm ento de código, um engenheiro de software cria um teste para exercitar o código (tentando fazer o código falhar). É então rescrito o código p ara satisfazer ao teste. Se passar, um novo teste é criado para o próximo segm ento de código a ser desenvolvido. O processo continua até que o com ponente esteja completajnente codificado e todos os testes executam sem erro. No entanto, se algum teste conseguir descobrir um erro, o código existente é refeito (corrigido) e tod o s os testes criados até aquele ponto são executados novamente. Esse fluxo iterativo continua até que não haja mais teste a ser criado, implicando que o componente satisfaz a todos o s requisitos definidos para ele.
Durante o TDD, o código é desenvolvido em inprementos muito p eq uenos (uma subfunção de cada vez), e nenhum código é escrito enquantej) n ão houver um teste p ara experimentá-lo. Você deve observar que cada iteração resulta em um ou mais novos testes que são acrescen tados a um conjunto de testes de regressão que roda to m cada mudança. Isso é feito para garantir que o novo código não ten h a gerado efeitos colaterais que causam erros no código anterior.
-
Questão mal formulada.... a questão não diz que o teste deve vir antes ou não...
Apenas diz que as funcionalidades devem estar completas e testadas da forma como serão apresentadas aos seus usuários para serem consideradas corretas.
-
Assertiva ERRADA.
Desabafo: o pessoal comenta, comenta, comenta, comenta, comenta, comenta, comenta, critica a banca, critica a redação da questão, e apontar o erro que é bom, nada.
O erro está em dizer que o código deve estar pronto quando vai ser testado, sendo que depois dos testes o TDD determina que seja feito o refactor do código, de modo a deixá-lo mais otimizado. Sendo assim o código pode ser modificado mesmo depois de passar nos testes.
-
e-
no test-driven development, tests vêem antes