Com relação às metodologias ágeis de desenvolvimento, julgue...

Próximas questões
Com base no mesmo assunto
Q328222 Engenharia de Software
Com relação às metodologias ágeis de desenvolvimento, julgue os itens a seguir.


Ao realizar o TDD (test-driven development), o programador é conduzido a pensar em decisões de design antes de pensar em código de implementação, o que cria um maior acoplamento, uma vez que seu objetivo é pensar na lógica e nas responsabilidades de cada classe.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é E - errado.

Vamos analisar o processo conhecido como TDD, ou Test-Driven Development, que é uma técnica de desenvolvimento de software que envolve a criação de testes antes do desenvolvimento do código propriamente dito. Neste método, o desenvolvedor escreve um teste que falha inicialmente, pois o código correspondente ainda não foi implementado. Em seguida, escreve-se o código mínimo necessário para passar no teste e, depois disso, refatora-se o código para melhorar a qualidade e a estrutura, mantendo sua funcionalidade.

Uma das principais vantagens do TDD é que ele promove um design mais limpo e desacoplado. Isso ocorre porque, ao pensar em como testar uma funcionalidade antes de sua implementação, o desenvolvedor é encorajado a pensar em interfaces claras e responsabilidades bem definidas para cada classe ou módulo, facilitando a escrita dos testes. Além disso, a necessidade de escrever testes que possam ser executados rapidamente e de maneira isolada leva a um menor acoplamento entre as classes, pois dependências complicadas tornam os testes mais difíceis de escrever e manter.

Portanto, a afirmação de que o TDD cria um maior acoplamento está equivocada. Na verdade, TDD tende a resultar em um menor acoplamento e um design mais coeso, já que o desenvolvedor precisa considerar a testabilidade do código desde o início, o que geralmente leva a uma melhor arquitetura de software. Por isso, a afirmação proposta no enunciado da questão não está correta.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

No TDD o foco é no objetivo final.

Por isso primeiro cria-se o teste, pois o teste é quem diz se o objetivo foi ou não alcançado, depois cria-se o código para que ele passe no teste. Essa questão do maior ou menor acoplamento diz respeito ao código em si, que não é o foco do TDD.

meeeenoss acoplamento

vc é forçado a pensar de um modo mais egoísta, tendendo a usar sempre injeção de dependências


E discordo da minha colega quase parente Janete Lacerda



O TDD tem TUUUUUUDDDDOO a ver com acoplamento e coesão.


Na verdade ele é muito mais uma técnica de Design do que de testes




recomendo a todos a leitura deste artigo

http://blog.caelum.com.br/tdd-e-sua-influencia-no-acoplamento-e-coesao/


http://blog.caelum.com.br/orientacao-a-objetos-uma-outra-perspectiva-sobre-o-acoplamento/


http://www.univale.com.br/unisite/mundo-j/artigos/41Testes.pdf


http://blog.caelum.com.br/mais-uma-vez-tdd-nao-e-bala-de-prata/

A própria questão já auxilia para a conclusão da questão:

quando o examinador coloca que o desenvolvedor é conduzido a pensar em decisões de design antes de pensar em código de implementação. Quando se projeta um software, a tendência é fazê-lo com o que tiver de melhor no mundo; não se pára pra projetar e fazer de qualquer jeito.

Portanto, o examinador diz que: é conduzido a pensar em decisões de design, ou seja, a fazer o melhor, então não se pode projetar algo com maior acoplamento. É uma contradição.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo