

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Em um ambiente moderno de desenvolvimento de software, equipes buscam automatizar o processo desde a implementação do código até a entrega da aplicação em produção. Nesse contexto, o controle de versões é realizado de forma distribuída, permitindo o acompanhamento das alterações no código-fonte ao longo do tempo, enquanto práticas de integração e entrega contínuas automatizam etapas como compilação, testes e implantação. Para garantir portabilidade e isolamento do ambiente de execução, a aplicação é empacotada utilizando containers. Assim, nesse cenário, o controle de versões é feito por meio do [ I ], as práticas responsáveis pela automação do pipeline são conhecidas como [ II ], e a ferramenta utilizada para empacotar a aplicação em containers é o [ III ].
Assinale a alternativa que preenche corretamente as lacunas [ I ], [ II ] e [ III ], nessa ordem.
I. Git, II. Docker, III. CI/CD
I. Git, II. CI/CD, III. Docker
I. Docker, II. CI/CD, III. Git
I. CI/CD, II. Git, III. Docker
I. CI/CD, II. Docker, III. Git
Durante uma auditoria técnica em um projeto de desenvolvimento de software público, o auditor observa que a equipe de desenvolvimento está ignorando sistematicamente a Definition of Done (DoD) para cumprir o prazo de uma Sprint, sob orientação do Product Owner. O incremento foi movido para o status Concluído, mas não possui testes de integração nem documentação técnica.
Sob a ótica do Guia Scrum e da governança de software, a consequência direta dessa prática para o Tribunal de Contas e para a qualidade do produto é
o aumento imediato da velocidade da equipe, otimizando o gasto público.
a criação de dívida técnica oculta, mascarando o real progresso do projeto e elevando o custo de manutenção futura.
a conformidade com o princípio de “Software em funcionamento mais que documentação abrangente” do Manifesto Ágil.
a transferência da responsabilidade de qualidade exclusivamente para o Scrum Master.
a viabilização de entregas contínuas (CI/CD) sem a necessidade de processos burocráticos de revisão.
O departamento de TI da ALEGO que desenvolve soluções SaaS passa por um processo de modernização de sua plataforma. Apesar de contar com equipes especializadas em desenvolvimento, testes e operações, os times trabalham de forma segmentada, o que gera retrabalho, pouco compartilhamento de conhecimento e baixa visibilidade sobre o ciclo de entrega. A diretoria de TI identificou a necessidade de melhorar a colaboração entre as áreas, padronizar práticas, aumentar a previsibilidade das entregas e fortalecer a cultura de melhoria contínua. Como parte da transformação digital, a empresa considera adotar um modelo DevOps, buscando compreender quais são suas principais características e como elas podem apoiar a integração e o fluxo contínuo de valor.
Assinale qual das seguintes características é fundamental para o sucesso da implementação de DevOps em uma organização, promovendo a eficácia entre as equipes de desenvolvimento e operações.
Desenvolvimento sem feedback contínuo.
Cultura de blame (culpabilização).
Automação de processos manuais.
Segregação rígida entre equipes de desenvolvimento e operações.
Priorização de atualizações sem testes.
No contexto do desenvolvimento de software ágil, a adoção de testes automatizados é essencial.
Considerando sua aplicação em ambientes ágeis e sua integração com práticas como a integração contínua, assinale a afirmação verdadeira
Testes automatizados são opcionais em ambientes ágeis, pois a comunicação constante da equipe elimina a necessidade de validação do código.
A realização de testes após o desenvolvimento do código é uma prática recomendada em ambientes ágeis, pois permite que os desenvolvedores se concentrem na implementação de novas funcionalidades.
A criação de testes automatizados melhora a qualidade do código, permitindo que as equipes façam modificações de forma mais segura e rápida.
Testes automatizados devem ser exclusivamente unitários para serem eficazes em projetos ágeis, uma vez que eles focam apenas na validação de pequenas unidades do código.
Em ambientes ágeis, os testes devem ser realizados apenas por equipes especializadas em qualidade, já que os desenvolvedores não devem se preocupar com testes.
Uma equipe de desenvolvimento de um órgão público está adotando a cultura DevOps para agilizar a entrega de software com qualidade. Um dos pilares dessa cultura é a implementação de um pipeline de Integração Contínua (CI) e Entrega Contínua (CD). Marque a alternativa CORRETA que define o conceito de Integração Contínua (CI) no contexto de DevOps.
É a prática de entregar manualmente o software em produção após um longo ciclo de desenvolvimento, garantindo que todas as funcionalidades sejam liberadas de uma só vez para o usuário final.
É o processo de realizar testes de segurança e análise estática de código apenas no final do projeto, antes da implantação em produção, para garantir que todas as vulnerabilidades sejam encontradas de uma vez.
É a prática de integrar o código novo ao repositório principal várias vezes ao dia, onde cada integração dispara um processo automatizado de compilação (build) e testes, permitindo identificar problemas de integração rapidamente.
A Integração Contínua (CI) é uma metodologia focada em adiar a integração do código para o final do projeto, permitindo que os desenvolvedores trabalhem de forma isolada por mais tempo e só combinem suas alterações na fase de pré-produção, minimizando interrupções diárias.
Refere-se exclusivamente à automação da infraestrutura, utilizando ferramentas como Ansible ou Terraform para provisionar servidores, sem qualquer relação com o ciclo de vida do código-fonte da aplicação.


Seu próximo nível começa aqui

Seu próximo nível começa aqui
Destrave a preparação completa para sua aprovação. Com a Assinatura Ilimitada, você estuda com os melhores professores do Brasil e todos os recursos Gran.
Em um ambiente de desenvolvimento que adota práticas de integração contínua, o Jenkins é uma ferramenta voltada à automação de processos. A respeito dessa ferramenta, é correto afirmar que
o Jenkins é um sistema gerenciador de banco de dados relacional utilizado para armazenar artefatos de build.
o Jenkins é uma ferramenta de automação que permite configurar pipelines para build, teste e deploy de aplicações.
o Jenkins é um sistema de controle de versão distribuído de forma semelhante ao Git.
o Jenkins substitui a necessidade de compiladores e interpretadores nas máquinas de desenvolvimento.
o Jenkins é um servidor de aplicações Java EE utilizado para executar EJB e aplicações WAR.
Em um pipeline de CI/CD utilizando GitHub Actions, qual configuração é necessária para garantir que os testes automatizados sejam executados antes de cada merge na branch principal?
Adicionar um workflow que executa na pull request com evento "pull_request"
Configurar branch protection com status checks obrigatórios
Implementar um script de build manual
Criar uma action customizada para cada teste
Usar um webhook para acionar testes automatizados
Na etapa de CI, desenvolvedores devem mesclar (merge) suas alterações na branch principal apenas uma vez por semana para reduzir conflitos e economizar tempo de build.
Certo
Errado
A integração contínua no GitHub Actions é configurada manualmente em cada repositório, e os workflows são executados apenas quando o código é aprovado por uma revisão de código.
Certo
Errado
A duração de uma iteração é influenciada pelo tamanho do projeto e pelo nível de automação utilizado para o gerenciamento do código, a distribuição de informações e a realização de testes.
Certo
Errado


Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Um dos princípios da Infraestrutura como Código (IaC) é tratar os arquivos de configuração da infraestrutura da mesma forma que o código-fonte de uma aplicação. Isso permite que as equipes de operações apliquem práticas de engenharia de software ao gerenciamento de seus servidores e serviços. A prática de DevOps que é fundamental para habilitar a IaC, permitindo o rastreamento de alterações, a colaboração em equipe e a capacidade de reverter para configurações anteriores, é o(a)
integração contínua.
documentação dos servidores.
controle de versão.
gerenciamento de logs centralizado.
feedback contínuo do cliente.
Historicamente, as equipes de desenvolvimento trabalhavam de forma isolada por grandes períodos, atrasando a junção de suas modificações na ramificação principal (master) até a conclusão completa de suas tarefas. Essa prática resultava em fusões de código complexas e demoradas, além de propiciar o acúmulo de erros. Consequentemente, a agilidade na distribuição de novas atualizações aos clientes era severamente comprometida.
Isso posto, a solução para o problema descrito é a (o):
Entrega Contínua.
Monitoramento.
Implantação Contínua.
Build.
Integração Contínua.
Acerca das principais funcionalidades do Jenkins em um ambiente de DevOps, assinale a alternativa correta.
É usado, principalmente, para monitorar a performance de redes e servidores, fornecendo relatórios detalhados de uso de recursos.
Atua como uma ferramenta de gerenciamento de contêineres, permitindo a orquestração de múltiplos contêineres Docker em um cluster.
É uma ferramenta de controle de versão distribuída, similar ao Git, usada para gerenciar o histórico de código-fonte.
É uma plataforma de integração contínua que automatiza o processo de construção, teste e implantação de aplicações.
Fornece um ambiente de desenvolvimento integrado (IDE) para escrever e depurar código em várias linguagens de programação.
Integração Contínua, Entrega Contínua e Implementação Contínua são práticas essenciais para criar um fluxo contínuo de desenvolvimento, testes e entrega de software, garantindo qualidade e agilidade. Considerando esses conceitos, analise as afirmativas abaixo.
I Na Implementação Contínua, todas as mudanças que o desenvolvedor efetiva, após passar por todas as etapas de testes sem falhar, vão automaticamente para produção.
II Na Entrega Contínua, todas as mudanças que o desenvolvedor efetiva, após passar por todas etapas de testes sem falhar, vão automaticamente para produção.
III A Entrega Contínua expande o conceito de Integração Continua, adicionando as etapas de testes de aceitação e integração, usando ambientes semelhantes à produção.
IV A Implementação Contínua expande o conceito de Integração Contínua, mas descarta os testes de unidade, uma vez que os testes de aceitação e integração já garantem o resultado esperado.
Das afirmativas, estão corretas
II e IV.
III e IV.
I e III.
I e II.
A automação de testes desempenha um papel fundamental em pipelines de Integração Contínua (CI) e Entrega Contínua (CD), ao permitir que equipes de desenvolvimento detectem e corrijam problemas rapidamente, mantendo a qualidade do software em níveis adequados. Uma característica importante da automação de testes CI/CD é a capacidade de executar testes automaticamente a cada novo commit no repositório, garantindo que alterações recentes não quebrem funcionalidades existentes.
Com base nesse contexto, assinale a opção que descreve corretamente a importância da automação de testes em ambientes CI/CD.
A automação de testes em CI/CD é opcional, visto que testes manuais podem ser eficientemente agendados para cobrir todas as mudanças de código.
A principal vantagem da automação de testes em CI/CD é reduzir o custo dos testes ao eliminar a necessidade de ferramentas de automação.
A automação de testes em CI/CD permite a execução frequente de testes, ajudando a identificar e corrigir defeitos rapidamente, o que é essencial para manter a qualidade do software.
Em ambientes de CI/CD, a automação de testes é usada apenas para testes de performance e carga, enquanto testes funcionais devem ser realizados manualmente.
A automação de testes em CI/CD foca exclusivamente em testes de segurança, deixando outros tipos de testes para serem executados em ambientes de teste dedicados.


Seu próximo nível começa aqui

Seu próximo nível começa aqui
Destrave a preparação completa para sua aprovação. Com a Assinatura Ilimitada, você estuda com os melhores professores do Brasil e todos os recursos Gran.
A implantação contínua é uma estratégia no desenvolvimento de software em que as alterações de código em um aplicativo são liberadas automaticamente no ambiente de produção.
Certo
Errado
Suponha que em um projeto de desenvolvimento de software, João e Maria estão trabalhando em diferentes branches para implementar funcionalidades distintas. Durante o desenvolvimento, Maria alterou uma função fundamental que também é utilizada por João em seu branch. Quando ambos tentaram integrar os branches ao branch principal, surgiram conflitos de integração devido às alterações na função compartilhada. Considerando esse cenário, qual prática teria ajudado a evitar ou minimizar esse problema de integração?
Utilizar um sistema de controle de versões que não suporta branches.
Realizar integrações manuais apenas no final do ciclo de desenvolvimento
Aplicar a prática de integração contínua, integrando o código frequentemente ao branch principal.
Utilizar um pipeline de integração automática que não considera as alterações feitas por Maria e João em seus branches, para não resultar em conflitos durante a integração com o branch principal.
Segundo Pressman (2021), assinale a opção que apresenta corretamente as vantagens que a integração continua oferece para as equipes de desenvolvimento.
Aumento da complexidade; Menor ênfase na automação de testes, adiamento das correções de bugs para a fase de teste final; e aumento da quantidade de documentação.
Aumento da qualidade do produto, diminuição do risco de integração; feedback acelerado; e melhores relatórios.
Redução da complexidade do código-fonte; aumento do número de funcionalidades; melhoria na comunicação entre os membros da equipe; e aceleração do processo de documentação.
Redução da frequência de testes automatizados, maior qualidade do produto; identificação precoce de conflitos de código; e aumento da complexidade.
Maior qualidade do produto; aumento da quantidade de documentação; melhoria na comunicação entre os membros da equipe; e redução do uso de controle de versões.
A integração contínua foi proposta pela primeira vez por Grady Booch, um dos criadores do UML (Unified Model Language), em 1991, e mais tarde esse método foi integrado como uma das 12 práticas fundamentais do Extreme Programming. Nesse contexto, a integração contínua
é uma ferramenta estritamente ligada ao ambiente de contêineres, sendo isso uma limitação para sua adoção em larga escala.
dispensa a responsabilidade do desenvolvedor de testar o código, uma vez que o teste já faz parte do processo automático.
consiste em uma prática que foi substituída pelo processo de desenvolvimento em Cascata.
tem por objetivo integrar e testar as mudanças de código frequentemente, permitindo encontrar e investigar erros mais rapidamente.
)Com base nas práticas de Integração Contínua (CI) e Entrega Contínua (CD), assinale a alternativa correta.
A integração contínua (CI) e a entrega contínua (CD) visam aumentar a quantidade de erros para identificar falhas no software
A integração contínua (CI) e a entrega contínua (CD) são práticas manuais aplicadas ao final do desenvolvimento de software para garantir sua qualidade
A integração contínua (CI) e a entrega contínua (CD) são práticas automatizadas que buscam manter a qualidade do software e minimizar erros através de um pipeline organizado de forma lógica e sequencial
A integração contínua (CI) e a entrega contínua (CD) são usadas apenas para testar o software, sem relação com sua entrega ou estabilidade