No âmbito de DevOps, o termo “shift left testing” significa ...

Próximas questões
Com base no mesmo assunto
Q1845291 Engenharia de Software
No âmbito de DevOps, o termo “shift left testing” significa que os testes devem
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D - ser feitos desde as fases iniciais do ciclo de vida do produto.

Ao abordar o conceito de "shift left testing" dentro do contexto de DevOps, estamos nos referindo à prática de integrar testes de software o mais cedo possível no ciclo de desenvolvimento. Isso significa que, em vez de esperar até que os estágios finais de produção ou pré-lançamento sejam alcançados para iniciar o processo de testes, equipes de desenvolvimento e teste colaboram desde o início. A ideia é identificar e resolver problemas mais rapidamente, quando são mais fáceis e menos custosos para corrigir.

A importância dessa abordagem é dupla: ela não apenas melhora a qualidade geral do produto, mas também otimiza o tempo de entrada no mercado, uma preocupação chave dentro da filosofia DevOps, que busca a integração contínua e a entrega contínua (CI/CD).

Para justificar por que a alternativa D está correta, vamos entender o motivo pelo qual as outras alternativas não são adequadas:

  • Alternativa A: Essa opção sugere que os testes devem ocorrer apenas na fase de operação, o que contradiz a prática de shift left, que preconiza a realização dos testes o mais cedo possível.
  • Alternativa B: Embora os testes devam ser realizados no ambiente de desenvolvimento, eles não devem ser limitados a ele. A prática de shift left incentiva testes contínuos em todos os ambientes e fases do ciclo de vida do produto.
  • Alternativa C: A automação é uma ferramenta valiosa no processo de teste, mas o shift left não é limitado apenas à automação. Ele engloba uma abordagem holística que inclui automação, testes manuais, e outras práticas de qualidade desde o início do desenvolvimento.
  • Alternativa E: Embora os testes possam influenciar o desenvolvimento do produto, a expressão "dirigir o desenvolvimento do produto" não captura a essência do shift left testing, que é focado em começar os testes mais cedo.

Portanto, a alternativa D é a correta porque encapsula a essência do shift left testing, que é a inclusão de práticas de teste desde as fases iniciais do ciclo de vida do produto, promovendo uma cultura de testes contínuos e colaborativos, o que é fundamental no contexto de DevOps.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Quando o processo de desenvolvimento de software é visto como um processo sequencial, que vai da esquerda para a direita, antecipar as atividades de testes pode ser visto como “deslocar essas atividades para a esquerda”.

A imagem abaixo ilustra a atenção que é dada à qualidade no modelo Shift-Left e no modelo tradicional.

Shift-left é a prática de mover testes, qualidade e avaliação de desempenho no início do processo de desenvolvimento de software, portanto, o processo de mudança para o lado “esquerdo” do ciclo de vida do DevOps.

Este conceito tornou-se mais importante à medida que as equipes enfrentam a pressão para software mais rápido e com maior qualidade. Shift-left acelera a eficiência do desenvolvimento e reduz os custos detectando e abordando defeitos de software no início do ciclo de desenvolvimento antes que eles cheguem à produção.

Em contraste, Shift-right é a prática de realizar testes, qualidade e avaliação de desempenho na produção sob condições do mundo real. Os métodos Shift-right garantem que os aplicativos executados em produção possam suportar a carga real do usuário, garantindo os mesmos altos níveis de qualidade.

Com shift-right, as equipes de DevOps testam um aplicativo criado para garantir desempenho, resiliência e confiabilidade do software. O objetivo é detectar e corrigir problemas que seriam difíceis de prever em ambientes de desenvolvimento.

Ambos os testes shift-left e shift-right tornaram-se componentes importantes do desenvolvimento de software Agile, permitindo que as equipes criem e lancem software de forma incremental e confiável, mas também testem software em vários pontos do ciclo de vida.

O teste Shift-left pode reduzir defeitos de software e acelerar o tempo de lançamento do software no mercado. Em um cenário shift-left, as equipes incorporam os testes antecipadamente, geralmente antes que qualquer código seja escrito e durante todo o desenvolvimento. Em vez de testar a funcionalidade, o teste shift-left verifica se o software está de acordo com as especificações criadas pela empresa.

Do outro lado da equação, as práticas de shift-right podem garantir melhor a confiabilidade da produção testando o software em produção e sob condições do mundo real. Como resultado, as equipes obtêm uma cobertura de teste mais abrangente que aborda melhor as preocupações com a experiência do usuário.

Como curiosidade, alguns testes shit-right: A/B testing, Synthetic monitoring, Chaos testing, Canary releases, Blue-green deployment.

Texto retirado de: https://www.dynatrace.com/news/blog/what-is-shift-left-and-what-is-shift-right/#:~:text=and%20reliability%20criteria.-,What%20does%20shift%2Dleft%20mean%20in%20DevOps%3F,side%20of%20the%20DevOps%20lifecycle.

d-

Shift-left testing is an approach to software testing and system testing in which testing is performed earlier in the lifecycle.

https://en.wikipedia.org/wiki/Shift-left_testing

Encontrar erros a esquerda (próximo do inicio do ciclo de desenvolvimento) é menos custoso para ser resolvido, esse é o objetivo do shift left test

Gab. D

O deslocamento para a esquerda empurra a maioria dos testes para mais cedo no pipeline de DevOps, para reduzir o tempo até que o novo código chegue à produção e opere de forma confiável.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo