Testes são elementos fundamentais para a garantia da qualidade e que vêm ganhando uma crescente popularidade no cenário de desenvolvimento de software. Entre tantas tendências e metodologias de testes, vamos abordar neste artigo o Shift-Right, que enfatiza o deslocamento dos testes para a direita no ciclo de vida do desenvolvimento, realizando atividades de teste mais tarde no processo, em ambientes de produção e com foco em cenários reais.

 

Abordaremos os benefícios, técnicas, implementação, desafios e exemplos de sucesso da abordagem Shift-Right, além de explorarmos sua integração com outras práticas de teste.

 

 

O que é Shift-Right?

O conceito de “Shift-Right testing” (também chamado de “testes em produção”) é simples, mas pressupõe uma certa ousadia: envolve realizar testes continuamente quando o software já está em ambiente de produção. É um complemento à tradicional prática do Shift-Left, que consiste em incorporar testes o mais cedo possível no desenvolvimento, prevenindo problemas ao invés de detetá-los.

 

E onde está a ousadia na abordagem Shift-Right? No facto de sair do ambiente “seguro” do desenvolvimento e colocar o software em contacto com usuários, podendo trazer insights que dificilmente seriam obtidos de outra maneira. Concentra-se em garantir que os testes acompanham não apenas as etapas de desenvolvimento, mas também todo o processo de implantação e as etapas de pós-lançamento do produto, envolvendo testes em ambientes reais, garantindo que seja possível capturar erros que por vezes só aparecem em condições reais de uso.



Shift-Left vs. Shift-Right

O Shift-Left garante os testes no início das etapas de desenvolvimento, com o objetivo de encontrar o maior número de bugs o mais breve possível e de corrigi-los antes da fase de implantação. Essas atitudes buscam reduzir o espaço entre a escrita dos códigos e os possíveis bugs encontrados, o que, consequentemente, acaba por reduzir custos e tempo de correção.

 

Já o Shift-Right abrange toda a etapa posterior a este flow, concentrando-se na validação da funcionalidade, usabilidade do produto e na resolução dos problemas levantados pelo cliente. Em resumo, ele tende a melhorar a jornada do utilizador, garantindo que o produto esteja sem bugs nas primeiras horas pós-implementação e antes de futuras atualizações.

 

Shift-Right vs Shift-Left

Shift-Left vs. Shift-Right no ciclo de desenvolvimento de software

 

Ambos os recursos têm como objetivo avaliar e garantir a qualidade e o desempenho de novas soluções e funcionalidades no processo de DevOps e ciclo de vida de desenvolvimento do software, concentrando-se em métodos de testes contínuos. A lógica por trás dos princípios de Shift-Left e Shift-Right, em uma prática ágil, é basicamente “falha pequena, recuperação rápida”. O principal foco é detetar riscos antes que se transformem em problemas.

 

 

Benefícios do Shift-Right

O principal benefício desta metodologia é a capacidade de fornecer um ponto de vista de usuários reais, que por não estarem envolvidos nas etapas de desenvolvimento acabam por enxergar a aplicação de maneira mais objetiva.

 

Podemos ainda pontuar os seguintes benefícios:

  • Redução de custos e tempo
    Evita custos elevados e tempo de inatividade prolongado ao identificar problemas não detetados anteriormente.

  • Alinhamento com expectativas do cliente
    Captura de feedback direto dos usuários finais, garantindo que o software atende às expectativas e necessidades reais.

  • Gestão de riscos
    Implementação de estratégias para evitar impactos negativos nos usuários, como rollbacks rápidos e testes em ambientes controlados.

  • Cultura e colaboração
    Necessidade de uma cultura organizacional que promova a colaboração entre equipes de desenvolvimento, operações e qualidade, garantindo transparência e responsabilidade compartilhada.

 

 

Principais técnicas de Shift-Right

O Shift-Right engloba uma variedade de técnicas que podem ser aplicadas em diferentes estágios do ciclo de vida do desenvolvimento. Algumas das técnicas mais comuns incluem:

  • SIEM (Security Information and Event Management)
    Gerenciamento de eventos e informações de segurança. É uma solução que ajuda as organizações a detetar, analisar e responder a ameaças.

  • SOAR (Security Information and Event Management)
    Orquestração, automação e resposta de segurança. Busca aliviar a sobrecarga das equipes de IT ao coordenar, executar e automatizar tarefas.

  • Testes A/B
    Abordagem para testar hipóteses, criando um grupo de controle, introduzindo diferentes cenários, funcionalidades, visuais, etc., e comparando as reações obtidas com a reação pretendida.

  • Teste de segurança de API
    Rastrear o tráfego e as chamadas de saída para entender seu comportamento e detetar incidentes de segurança.

Cada uma dessas técnicas tem suas próprias vantagens e desvantagens, e a escolha da técnica ideal depende do contexto específico do projeto e dos objetivos da equipe de teste.

 

 

Conclusão

O Shift-Right, assim como seu irmão Shift-Left, é essencial para garantir que a qualidade esteja enraizada durante todo o desenvolvimento e vida útil do produto, proporcionando uma experiência de usuário consistente e segura para os clientes.

 

Posso dizer que é uma etapa crucial em todo o flow, visto que aqui validamos cenários reais, agindo como se fôssemos o próprio cliente. Em muitos casos, as empresas convidam clientes com os quais têm um bom relacionamento para realizarem testes de versões beta, de modo a garantir que tudo esteja funcionando da melhor forma.

 

Vale ressaltar que não é uma garantia de que não haverá mais bugs, mas sim de que a probabilidade de os encontrar seja a mais baixa possível. Por outras palavras, é uma forma de garantir que o pós-entregável permanece em pleno, funcionando conforme planejado.

 

Descobre o que é a abordagem Shift-Left neste artigo.

Partilha este artigo