A equipe de desenvolvimento de sistemas da Câmara Municipal ...

Próximas questões
Com base no mesmo assunto
Q3408218 Engenharia de Software
A equipe de desenvolvimento de sistemas da Câmara Municipal de Mariana recebeu a solicitação de implementação de um projeto de utilização interna, para facilitar a execução de serviços durante as sessões públicas. Ao analisar a demanda, o analista de sistema responsável verificou os fluxos, estimou o tempo e entrou em acordo com o gestor do projeto para a alocação da equipe necessária para todo o fluxo de desenvolvimento. Devido à importância do projeto e à frequente orientação do time para um desenvolvimento escalável de ferramentas nos novos projetos, foi decidido que deverão ser utilizadas técnicas de desenvolvimento dirigido por testes (TDD). Sobre tal prática de programação, assinale a afirmativa INCORRETA.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C

1. Tema central da questão:
A questão aborda o Desenvolvimento Dirigido por Testes (TDD – Test Driven Development), técnica bastante valorizada em metodologias ágeis e modernas, pedindo para identificar uma afirmação incorreta sobre essa prática. TDD é uma abordagem que visa garantir qualidade, testabilidade e manutenibilidade ao software desde as primeiras linhas de código.

2. Resumo teórico:
No TDD, o fluxo clássico é: escrever um teste que falha, implementar o menor código possível para passar no teste, e então refatorar o código, mantendo o teste verde (passando). Esse ciclo é conhecido como Red-Green-Refactor.
A principal ideia é garantir que cada funcionalidade do sistema já nasce coberta por um teste automatizado, tornando o código mais seguro e fácil de manter.
Fontes: Kent Beck, “Test-Driven Development: By Example”; Guia PMBOK®; Scrum Guide.

3. Justificativa da alternativa correta (C):
A opção C afirma que o TDD é obrigatório ao utilizar Scrum. Isto é incorreto! O Scrum é uma metodologia ágil de gestão, não prescreve práticas técnicas obrigatórias como TDD, integração contínua ou refatoração. Cabe ao time de desenvolvimento escolher as técnicas que melhor atendem ao projeto. TDD pode ser adotado junto ao Scrum, mas não é obrigatório segundo o Scrum Guide.

4. Análise das alternativas incorretas:

A - Favorece a escrita de códigos com alta testabilidade.
Verdadeiro. Como o código é escrito para passar em testes, ele tende a ser melhor estruturado e mais fácil de testar.

B - Geralmente a primeira etapa é escrever um teste que falha.
Verdadeiro. O ciclo do TDD começa exatamente assim: cria-se o teste antes da funcionalidade, e esse teste, naturalmente, falha inicialmente.

D - Ajuda a evitar que os desenvolvedores esqueçam de escrever testes, pois tem como estratégia a criação do teste antes da própria tarefa de programação.
Verdadeiro. O próprio fluxo do TDD força a criação dos testes antes da implementação da funcionalidade.

5. Estratégia para interpretação:
Fique atento a palavras absolutas como “obrigatória”. Muitas metodologias oferecem liberdade ao time quanto às práticas técnicas. Busque sempre o que está prescrito de fato nos guias oficiais (como o Scrum Guide). Outra dica: questões que pedem a INCORRETA exigem leitura atenta e análise crítica de cada alternativa.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

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

A) Favorece a escrita de códigos com alta testabilidade.

Correta.

O TDD (Test-Driven Development) tem como uma de suas principais vantagens a produção de códigos altamente testáveis, pois os testes orientam diretamente o design das funcionalidades.

B) Geralmente a primeira etapa é escrever um teste que falha.

Correta.

Essa é uma característica fundamental do TDD: começa-se escrevendo um teste para a funcionalidade desejada, que naturalmente falha, pois o código ainda não foi implementado.

C) É uma prática de programação obrigatória ao utilizar a metodologia Scrum.

Incorreta.

Essa é a afirmativa incorreta. O TDD não é obrigatório no Scrum. O Scrum é uma metodologia ágil de gestão de projetos que não impõe técnicas específicas de desenvolvimento, como TDD. O uso do TDD é uma decisão da equipe técnica dentro de qualquer metodologia.

D) Ajuda a evitar que os desenvolvedores esqueçam de escrever testes, pois tem como estratégia a criação do teste antes da própria tarefa de programação.

Correta.

Uma das vantagens do TDD é justamente garantir que os testes sejam escritos, pois eles antecedem o código funcional.

Gabarito: C

Fonte: IA MESTRE DE QUESTÕES https://chatgpt.com/g/g-ijMcb3nnY-ia-questoes-de-concursos

"A persistência realiza o impossível." – Provérbio Chinês

Instagram: @tudomudahoje. @rankingdasbancas

Clique para visualizar este comentário

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