Prévia do material em texto
1. O que é Entrega Contínua (CD)? a) Um processo para automatizar a documentação do código. b) A prática de garantir que o código esteja sempre pronto para ser lançado para produção. c) O processo de desenvolvimento de código em tempo real. d) Uma técnica para melhorar a interface gráfica de uma aplicação. Resposta correta: b Explicação: A Entrega Contínua é a prática de garantir que o código esteja sempre pronto para ser lançado para produção. Isso é feito por meio de automação dos testes e builds, facilitando uma liberação rápida e segura. 2. Qual é a principal diferença entre Integração Contínua e Entrega Contínua? a) Integração Contínua foca apenas na codificação, enquanto Entrega Contínua foca no lançamento para produção. b) Integração Contínua envolve apenas a verificação do código, enquanto Entrega Contínua envolve a liberação automática para produção. c) Integração Contínua requer menos testes do que Entrega Contínua. d) Não há diferença entre os dois processos. Resposta correta: b Explicação: A principal diferença é que a Integração Contínua envolve a validação do código por meio de testes e builds automáticos, enquanto a Entrega Contínua automatiza o processo de liberação para produção. 3. Quais são os principais benefícios da Entrega Contínua? a) Reduzir o número de bugs no sistema. b) Melhorar a comunicação entre equipes de desenvolvimento e operações. c) Permitir que o código seja lançado mais rapidamente e com menos riscos. d) Melhorar a interface de usuário da aplicação. Resposta correta: c Explicação: A Entrega Contínua permite que o código seja liberado mais rapidamente e com menos riscos, já que cada mudança passa por um processo rigoroso de testes e validações automáticas. 4. O que é necessário para implementar Entrega Contínua? a) Adoção de uma estratégia de testes manuais rigorosos. b) Automação de testes, integração e deployment. c) Adoção de ferramentas de design de interface. d) Aumentar o número de desenvolvedores na equipe. Resposta correta: b Explicação: A Entrega Contínua exige a automação de testes, integração e deployment, para garantir que cada alteração no código seja validada e liberada automaticamente para produção de forma eficiente e sem erros. 5. O que é um "pipeline de deployment" em Entrega Contínua? a) Um processo de codificação para desenvolvimento de novas funcionalidades. b) Um conjunto de etapas automatizadas que garantem que o código seja corretamente liberado para produção. c) Um tipo de teste manual realizado por desenvolvedores. d) Um sistema de versionamento de código. Resposta correta: b Explicação: O pipeline de deployment é um conjunto de etapas automatizadas que garantem que o código passe por testes, builds e validações antes de ser liberado para produção. 6. O que acontece em uma falha no pipeline de Entrega Contínua? a) O código é automaticamente corrigido pela ferramenta. b) A falha é ignorada e o código é liberado para produção mesmo assim. c) O código é impedido de ser liberado até que a falha seja corrigida. d) O pipeline é reiniciado sem nenhuma verificação adicional. Resposta correta: c Explicação: Se o pipeline falhar, o código não será liberado para produção até que o problema seja resolvido, garantindo que o sistema sempre esteja em um estado funcional. 7. Qual é a diferença entre "Entrega Contínua" e "Implantação Contínua" (Continuous Deployment)? a) Entrega Contínua envolve a liberação manual para produção, enquanto Implantação Contínua é totalmente automatizada. b) Implantação Contínua é mais focada em testes, enquanto Entrega Contínua foca na documentação. c) Implantação Contínua envolve a liberação automática de código para produção, enquanto Entrega Contínua requer uma intervenção manual. d) Não há diferença entre as duas práticas. Resposta correta: c Explicação: A diferença principal é que, na Implantação Contínua, o código é automaticamente liberado para produção sem intervenção manual, enquanto na Entrega Contínua, o código está sempre pronto para ser liberado, mas a liberação pode ser feita manualmente. 8. Qual das alternativas abaixo é um desafio comum na Entrega Contínua? a) A automação de testes é desnecessária. b) O gerenciamento de configurações entre os ambientes pode ser complexo. c) A comunicação entre equipes é simples e sem desafios. d) O processo de deployment é realizado em todas as fases de desenvolvimento. Resposta correta: b Explicação: O gerenciamento de configurações entre diferentes ambientes (desenvolvimento, teste, produção) pode ser complexo e é um desafio comum na Entrega Contínua, pois cada ambiente pode ter configurações diferentes que precisam ser sincronizadas. 9. Por que é importante ter testes automatizados na Entrega Contínua? a) Para garantir que o código esteja funcional e seguro antes de ser liberado para produção. b) Para verificar se o código está bem documentado. c) Para reduzir o número de commits realizados no repositório. d) Para reduzir a carga do servidor de desenvolvimento. Resposta correta: a Explicação: Testes automatizados são essenciais para garantir que o código esteja funcionando corretamente e seguro antes de ser liberado para produção, evitando falhas que possam impactar o sistema. 10. Qual ferramenta é comumente usada em pipelines de Entrega Contínua? a) GitHub b) Jira c) Jenkins d) Visual Studio Code Resposta correta: c Explicação: Jenkins é uma ferramenta popular usada para configurar pipelines de Entrega Contínua, facilitando a automação de testes, builds e deployment.