No que se refere aos testes de sistemas de informação, julgu...
Em se tratando de desenvolvimento de softwares dirigidos a testes (TDD), a execução dos testes é realizada antes da implementação da funcionalidade.
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
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