Questão de Engenharia de Software — DevOps, IaC, Integração Contínua e Entrega Contínua — INSTITUTO AOCP 2024
Engenharia de Software›DevOps, IaC, Integração Contínua e Entrega Contínua
Código
qa631670
Banca
INSTITUTO AOCP
Órgão
MPE PR
Ano
2024
Cargo
Ana ( )
Assinale a alternativa que NÃO corresponde a um conceito ou prática associada à integração e entrega contínua (Continuous Integration and Continuous Delivery – CI/CD) em desenvolvimento de software.
AA integração contínua envolve a prática de integrar código em um repositório compartilhado várias vezes ao dia, com o objetivo de detectar e corrigir erros rapidamente.
BA entrega contínua é um processo que garante que o código atualizado esteja sempre em um estado pronto para ser implantado em produção, incluindo a execução de testes automatizados.
CFerramentas de integração contínua, como Jenkins e GitLab CI, são usadas para automatizar a construção e o teste do código a cada integração no repositório.
DO pipeline de CI/CD pode incluir várias etapas, como compilação, testes unitários, testes de integração, testes de aceitação e implantação automática.
EA entrega contínua elimina a necessidade de testes manuais, substituindo-os completamente por testes automatizados.
Revelar gabarito e comentário▾
GabaritoE — A entrega contínua elimina a necessidade de testes manuais, substituindo-os completamente por testes automatizados.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Integração Contínua (CI) e Entrega Contínua (CD)
Gabarito: letra E. A alternativa E está incorreta porque afirma que a entrega contínua elimina a necessidade de testes manuais, substituindo-os completamente por testes automatizados. Na prática, a entrega contínua automatiza a preparação e a disponibilização do código para implantação, mas não elimina a possibilidade de testes manuais, que ainda podem ser necessários em determinados contextos. As demais alternativas descrevem corretamente conceitos e práticas associados a CI/CD.
A integração contínua (CI) é uma prática de desenvolvimento em que os desenvolvedores integram suas alterações de código em um repositório compartilhado com frequência, várias vezes ao dia. Cada integração é verificada por builds e testes automatizados, permitindo a detecção precoce de erros e a melhoria da qualidade do software. A entrega contínua (CD) é a prática em que as alterações de código são automaticamente testadas e preparadas para implantação em produção, garantindo que o software esteja sempre em um estado pronto para ser liberado. A implantação contínua é uma extensão da entrega contínua, na qual cada alteração aprovada nos testes é implantada automaticamente em produção, sem intervenção humana.
O pipeline CI/CD é um conjunto de etapas automatizadas que incluem compilação, testes unitários, testes de integração, testes de aceitação e implantação. Ferramentas como Jenkins e GitLab CI são amplamente utilizadas para automatizar a construção e o teste do código a cada integração no repositório. A automação é um pilar central do DevOps, mas isso não significa que todos os testes manuais sejam eliminados. Testes manuais ainda podem ser necessários para validar aspectos como usabilidade, experiência do usuário e cenários complexos que não são facilmente automatizáveis.
A distinção entre entrega contínua e implantação contínua é crucial: na entrega contínua, o código é preparado e disponibilizado para implantação, mas a liberação para produção pode exigir aprovação manual; na implantação contínua, cada alteração aprovada é implantada automaticamente em produção, sem intervenção humana. A alternativa E confunde esses conceitos ao afirmar que a entrega contínua elimina completamente os testes manuais, o que não é verdadeiro.
A pegadinha da banca está em generalizar a automação: embora a automação seja essencial no CI/CD, ela não substitui totalmente os testes manuais. A alternativa E usa a palavra "elimina" e "completamente", que são termos absolutos e, portanto, incorretos. O candidato deve ficar atento a palavras como "sempre", "nunca", "elimina" e "completamente", que geralmente indicam uma afirmação falsa.
NÃO CAIA NESSA!
A banca tenta confundir o candidato ao afirmar que a entrega contínua elimina completamente os testes manuais. Isso é uma generalização indevida: a automação é um pilar do CI/CD, mas não substitui totalmente os testes manuais, que ainda podem ser necessários em cenários específicos. Fique atento a termos absolutos como "elimina" e "completamente".
Alternativa A — ✅ Correta
A integração contínua envolve a prática de integrar código em um repositório compartilhado várias vezes ao dia, com o objetivo de detectar e corrigir erros rapidamente. Isso está alinhado com a definição de CI, que enfatiza a integração frequente e a validação automática por meio de builds e testes. A alternativa está correta.
Alternativa B — ✅ Correta
A entrega contínua é um processo que garante que o código atualizado esteja sempre em um estado pronto para ser implantado em produção, incluindo a execução de testes automatizados. Isso está correto, pois a CD prepara o código para implantação, mas não necessariamente o implanta automaticamente. A alternativa está correta.
Alternativa C — ✅ Correta
Ferramentas de integração contínua, como Jenkins e GitLab CI, são usadas para automatizar a construção e o teste do código a cada integração no repositório. Isso está correto, pois essas ferramentas são amplamente utilizadas para automatizar o pipeline de CI/CD. A alternativa está correta.
Alternativa D — ✅ Correta
O pipeline de CI/CD pode incluir várias etapas, como compilação, testes unitários, testes de integração, testes de aceitação e implantação automática. Isso está correto, pois o pipeline é composto por essas etapas automatizadas. A alternativa está correta.
Alternativa E — ❌ Incorreta ⟵ GABARITO
A alternativa E afirma que a entrega contínua elimina a necessidade de testes manuais, substituindo-os completamente por testes automatizados. Isso é incorreto, pois a entrega contínua automatiza a preparação e a disponibilização do código para implantação, mas não elimina a possibilidade de testes manuais, que ainda podem ser necessários em determinados contextos. A palavra "elimina" e "completamente" tornam a afirmação falsa. A alternativa está incorreta.