← Questões de Engenharia de Software

Engenharia de Software · CESPE/CEBRASPE · 2022

Questão comentada de Engenharia de Software

A respeito de testes automatizados, no contexto de DevOps e DevSecOps, assinale a opção correta.

Gabarito: D

Em testes automatizados, especialmente em ambientes de DevOps e DevSecOps, a ideia central é ganhar velocidade, repetibilidade e feedback rápido. Em vez de esperar o sistema inteiro ficar pronto para descobrir defeitos, os testes entram cedo no processo e acompanham a entrega contínua, ajudando a reduzir retrabalho e risco. Isso conversa bem com a lógica de integração contínua e entrega contínua: detectar erro o quanto antes custa menos e dói menos no cronograma. Os testes unitários, em regra, focam uma menor parte do código, como um método ou uma classe, isolando dependências com mocks ou stubs. Por isso, eles não devem depender de recursos externos reais, como banco de dados, rede ou serviços terceiros. Se começam a depender disso, o teste perde isolamento e deixa de ser um bom teste unitário. É aí que a alternativa D acerta: TDD (Test Driven Development) é justamente o desenvolvimento guiado por testes. Primeiro você escreve o teste, depois implementa o código para fazê-lo passar, e só então refatora. Na prática, isso ajuda a dar mais qualidade ao código e a organizar melhor a construção da funcionalidade, com testes unitários como peça central. Na visão de prova, o CESPE gosta de misturar conceitos próximos, mas com um detalhe errado aqui e ali. Então guarde a lógica: teste unitário isola, integração verifica interação entre módulos, e TDD usa o teste como guia da implementação. Essa é a trilha segura para não cair em pegadinha.

Continue treinando

Questões relacionadas