No que se refere aos testes de sistemas de informação, julgu...

Próximas questões
Com base no mesmo assunto
Q445706 Engenharia de Software
No que se refere aos testes de sistemas de informação, julgue o item a seguir.

Em se tratando de desenvolvimento de softwares dirigidos a testes (TDD), a execução dos testes é realizada antes da implementação da funcionalidade.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - certo

O tema abordado nessa questão está relacionado a uma prática muito específica de desenvolvimento de software conhecida como Desenvolvimento Orientado por Testes (Test-Driven Development ou TDD). Esta é uma técnica de design de software que enfatiza a elaboração de testes automatizados antes da escrita do código funcional.

A técnica TDD segue um ciclo curto e repetitivo que é comumente descrito como: vermelho, verde, refatorar. Inicialmente, escreve-se um teste para uma nova funcionalidade, que falhará (vermelho), pois a funcionalidade ainda não existe. Em seguida, escreve-se o código mínimo necessário para que o teste passe (verde). Por fim, refatora-se o código para melhorar sua estrutura e design, mantendo sua funcionalidade (refatorar).

Esta técnica é uma parte fundamental de muitas metodologias ágeis de desenvolvimento de software, ajudando a garantir que o software funcione corretamente e facilitando mudanças futuras no código com menor risco de introduzir defeitos. Além disso, o TDD promove o design modular e um código mais testável e limpo.

Portanto, a afirmação é correta porque, no TDD, os testes realmente são criados antes de se implementar a funcionalidade correspondente. Eles servem como uma especificação detalhada de como o código deve se comportar e são utilizados para validar a implementação da funcionalidade.

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

Posso tá falando besteiras, mas como executar teste sem implementar? A confecção do teste tudo bem, mas execução não.

O teste executado antes da implementação da funcionalidade deverá ser executado para falhar, pois, se o teste não falhar, não há necessidade desse teste.

Leucio Batista, concordo com você. A questão foi mal elaborada, dando duplo sentido.

Questão correta, pessoal... Este é o princípio do TDD (desenvolvimento orientado a testes). Sommerville divide as etapas do desenvolvimento orientado a testes em:

 

1) Você começa identificando o incremento de funcionalidade necessário. Este, normalmente, deve ser pequeno e implementável em poucas linhas de código.

2) Você escreve um teste para essa funcionalidade e o implementa como um teste automatizado. Isso significa que o teste pode ser executado e relatará se passou ou falhou.

3) Você, então, executa o teste, junto com todos os outros testes implementados. Inicialmente, você não terá implementado a funcionalidade, logo, o novo teste falhará. Isso é proposital, pois mostra que o teste acrescenta algo ao conjunto de testes.

4) Você, então, implementa a funcionalidade e executa novamente o teste. Isso pode envolver a refatoração do código existente para melhorá-lo e adicionar um novo código sobre o que já está lá.

5) Depois que todos os testes forem executados com sucesso, você caminha para implementar a próxima parte da funcionalidade.

 

Fonte: Sommerville, 9ª Edição, Capítulo 8.

 

Bons estudos!

galera, a questão está certa sim!

 

Ele refere-se à técnica em TDD chamada de Baby Steps

 

RED -> GREN -> Blue

 

no red, é pq vc fez os testes, rodou e não passou

Clique para visualizar este comentário

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