Prévia do material em texto
Entrega contínua O que e entrega continua (Continuous Delivery) em desenvolvimento de software? a) Um processo que garante que todo codigo desenvolvido sera automaticamente implementado em producao sem passar por testes. b) Um conjunto de praticas que visa a automacao do ciclo de vida do software, garantindo que ele esteja sempre em um estado de pronto para producao. c) Uma tecnica usada para liberar atualizacoes de software apenas uma vez por ano. d) Um modelo de desenvolvimento em que todas as atualizacoes sao feitas manualmente pelos desenvolvedores. Resposta correta: b) Explicacao: A entrega continua e um conjunto de praticas de desenvolvimento de software que visa garantir que o codigo esteja sempre em um estado pronto para producao, permitindo uma entrega frequente e segura de novas versoes do software. Qual a principal diferenca entre entrega continua e integracao continua? a) Na entrega continua, o codigo nao e testado, enquanto na integracao continua, e. b) Na integracao continua, o codigo e integrado frequentemente em um repositorio, enquanto na entrega continua, o foco esta em automatizar a implantacao para producao. c) A entrega continua envolve apenas a automacao dos testes, enquanto a integracao continua e sobre automacao da implantacao. d) A integracao continua e realizada apenas por desenvolvedores, enquanto a entrega continua envolve outros profissionais da equipe. Resposta correta: b) Explicacao: A integracao continua foca em integrar o codigo frequentemente em um repositorio e realizar testes automaticos, enquanto a entrega continua automatiza o processo de implantacao para producao, garantindo que a versao mais recente esteja sempre pronta para ser entregue. Qual dos seguintes e um beneficio direto da entrega continua? a) Aumento da complexidade no gerenciamento de versoes. b) Reducao do tempo entre o desenvolvimento de novos recursos e sua disponibilidade para os usuarios finais. c) Aumento de falhas em producao devido a mudancas frequentes. d) Menor necessidade de testes automaticos. Resposta correta: b) Explicacao: A entrega continua permite que novas versoes do software sejam entregues de forma mais rapida e frequente aos usuarios, resultando em ciclos mais curtos entre o desenvolvimento de novos recursos e sua disponibilidade real. O que e necessario para implementar entrega continua com sucesso em uma organizacao? a) Manter todos os processos manuais e centralizados em um unico servidor. b) Automacao de testes, construcao, e implantacao, alem de um pipeline bem definido. c) Dependencia de implementacoes manuais, com testes realizados apenas em ambientes de producao. d) Limitacao de atualizacoes para uma vez por mes. Resposta correta: b) Explicacao: Para que a entrega continua seja bem-sucedida, e necessario automatizar todos os aspectos do ciclo de vida do software, incluindo testes, construcao e implantacao, com o apoio de um pipeline bem configurado para garantir que o codigo esteja sempre pronto para ser colocado em producao. O que e um pipeline de entrega continua? a) Uma ferramenta que apenas gerencia versoes do software. b) Um conjunto de etapas automatizadas que gerencia o fluxo de codigo desde a construcao ate a producao. c) Um processo manual para enviar atualizacoes de software para os usuarios. d) Um teste realizado apos cada commit no repositorio de codigo. Resposta correta: b) Explicacao: O pipeline de entrega continua e um conjunto de etapas automatizadas que gerencia o fluxo de codigo, desde a construcao ate a producao. Ele garante que o software esteja sempre pronto para ser implementado em qualquer momento, com controle rigoroso em cada etapa. O que sao testes automatizados no contexto da entrega continua? a) Testes realizados manualmente pelos desenvolvedores antes de cada lancamento. b) Testes executados automaticamente durante o pipeline para validar o codigo antes de sua implantacao. c) Testes feitos apenas para validar a interface do usuario. d) Testes que ocorrem apenas apos a producao ser lancada. Resposta correta: b) Explicacao: Testes automatizados sao executados automaticamente em cada etapa do pipeline de entrega continua para garantir que o codigo nao quebre funcionalidades existentes, validando o software antes de ser implantado em producao. Qual e o principal beneficio dos testes automatizados na entrega continua? a) Eles garantem que o codigo sera mais barato de produzir. b) Eles aumentam o tempo de lancamento, mas diminuem a qualidade do produto. c) Eles ajudam a detectar falhas e regressoes rapidamente, garantindo a qualidade do software. d) Eles substituem completamente os testes manuais em todas as fases de desenvolvimento. Resposta correta: c) Explicacao: O principal beneficio dos testes automatizados e detectar falhas e regressoes rapidamente, garantindo que a qualidade do software seja mantida e que novas versoes possam ser entregues com confianca. O que significa rollbacks no contexto da entrega continua? a) A implementacao de um novo recurso no software. b) O processo de desfazer uma implantacao de codigo para restaurar uma versao anterior em caso de falhas. c) A atualizacao automatica de todos os testes no sistema. d) A manutencao do codigo em uma versao especifica sem atualizacoes. Resposta correta: b) Explicacao: Rollbacks se referem ao processo de desfazer uma implantacao e restaurar uma versao anterior do software caso algo de errado apos uma nova versao ser implantada. Qual e a relacao entre entrega continua e feedback rapido? a) A entrega continua impede que o feedback seja fornecido rapidamente. b) A entrega continua reduz o tempo necessario para obter feedback sobre o software, o que melhora o processo de desenvolvimento. c) A entrega continua so funciona sem feedback. d) Feedback rapido so e relevante para integracao continua, nao para entrega continua. Resposta correta: b) Explicacao: A entrega continua melhora o processo de desenvolvimento ao reduzir o tempo entre o envio de uma atualizacao e o recebimento de feedback. Isso ajuda as equipes a corrigirem problemas e melhorarem o produto mais rapidamente. Quais sao as praticas de automacao mais comuns em um pipeline de entrega continua? a) Automacao de apenas a construcao do software. b) Automacao da construcao, testes, validacao de qualidade, e implantacao. c) Automacao apenas para o controle de versao. d) Automacao somente no gerenciamento de tickets de suporte. Resposta correta: b) Explicacao: Em um pipeline de entrega continua, as praticas de automacao incluem a automacao da construcao do software, a execucao de testes, a validacao da qualidade e a implantacao, garantindo que o processo de entrega seja agil e eficiente. O que e um Deploy no contexto da entrega continua? a) O processo de escrever codigo para o software. b) O processo de implantar uma nova versao do software em um ambiente de producao ou testes. c) O processo de testar o codigo em um ambiente local. d) O processo de revisar codigo por outros desenvolvedores. Resposta correta: b) Explicacao: Deploy e o processo de implantar uma nova versao do software em um ambiente de producao ou testes, e no contexto de entrega continua, esse processo e automatizado para garantir que o software esteja sempre pronto para ser lancado. O que e uma "pipeline de CI/CD"? a) Uma ferramenta de versionamento de codigo. b) Um processo manual para criar o software. c) Uma integracao entre a integracao continua (CI) e a entrega continua (CD), com etapas automatizadas para construcao, teste e implantacao do software. d) Um servico de suporte ao cliente que gerencia o ciclo de vida do produto. Resposta correta: c) Explicacao: Uma pipeline de CI/CD integra a integracao continua (CI) e a entrega continua (CD), automatizando as etapas de construcao, testes e implantacao para garantir que o software esteja sempre pronto para producao. Qual a principal desvantagem de nao adotar a entrega continua? a) Maior tempode desenvolvimento e entrega de software, com maior risco de erros. b) Dificuldade em escalar a aplicacao de forma eficiente. c) Reducao da qualidade do codigo, ja que nao ha necessidade de testes. d) Menor controle sobre a seguranca do software. Resposta correta: a) Explicacao: A principal desvantagem de nao adotar a entrega continua e que o tempo de desenvolvimento e entrega de software se torna maior, o que aumenta o risco de erros e falhas no sistema, alem de dificultar o processo de correcao. O que e a "automacao de testes" no contexto de entrega continua? a) A implementacao de um conjunto de testes manuais. b) A criacao de scripts para realizar testes automaticamente sempre que ha uma nova versao do codigo. c) A execucao de testes apenas em ambientes locais. d) O controle manual de erros no codigo. Resposta correta: b) Explicacao: A automacao de testes envolve a criacao de scripts que executam testes automaticamente sempre que ha uma nova versao do codigo. Isso permite validar rapidamente se o codigo esta funcionando como esperado. Como a entrega continua pode afetar a colaboracao entre equipes de desenvolvimento e operacoes? a) Reduz a colaboracao, pois as equipes nao precisam se comunicar frequentemente. b) Aumenta a colaboracao, pois as equipes precisam trabalhar juntas para garantir que o codigo seja entregue de forma continua e segura. c) Nao tem impacto na colaboracao, pois as equipes de desenvolvimento e operacoes nao inter