# Você sabe o que é Shift-Left Testing?

> O que é Shift-Left Testing, por que adotar e como antecipar os testes evita que o BUG chegue em produção e o cliente encontre antes de você.

- URL: https://iagofrota.com.br/blog/voce-sabe-o-que-e-shift-left-testing/
- Data: 2023-04-04
- Tags: qa, scrum, shift-left-testing, xp

> É melhor prevenir do que remediar
> 
> Sábio anônimo

A citação acima fala muito sobre o _Shift-Left Testing_.

Veja se você reconhece algum exemplo conhecido:

1. Sabe aquele famigerado exemplo das empresas que só pegam BUGs em produção?

3. Ou, na análise de requisitos o software era pequeno, quando chega em produção é um monstrinho?

5. Ou, (pior) o custo do suporte (manutenção e correções) é tão alto que vale mais a pena desenvolver outro?

Pois é... A prática do Shift-Left visa mitigar e evitar que esses problemas vão para o ambiente produtivo e o seu cliente pegue o BUG e não você.

> O melhor teste é o do usuário!
> 
> É engraçado, mas é sério!

Sobre a prática do Shift-Left, ela visa basicamente mover a atividade da qualidade para o início do processo (mais a esquerda). Em vez dos testes ficarem mais a direita do processo (mais próximo do final da entrega), a parte de qualidade será iniciada já na fase de planejamento (mais a esquerda) e com isso passando por todo o fluxo.

![Ciclo de vida do Software](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExZGNjMDk1Zjc4MjM1MDg1YjdiMjk2ODhiNTg3OTViNTMyODYyZmYzMiZjdD1n/npjd0PYN7xE6n9YGGF/giphy.gif)

## Por que adotar o Shift-Letf?

Umas das maiores motivações para adotar essa prática é pegar BUGs o mais cedo possível e com isso otimizando trabalho e custos. Acredito que seja conhecimento de todos que quanto mais tarde os defeitos forem encontrados mais a frente do ciclo de vida do software, mais caro serão os seus custos de correção, suporte, retrabalho, stress e financeiro.

[![Imagem retirada do site https://www.bmc.com/blogs/what-is-shift-left-shift-left-testing-explained/](https://s7280.pcdn.co/wp-content/uploads/2017/07/key1.jpg.optimal.jpg)](https://www.bmc.com/blogs/what-is-shift-left-shift-left-testing-explained/)

Acredito que você ou alguém conhecido já tenha passado por algum stress e viu que

1. isso poderia ter sido evitado se tivessem documentado o processo,

3. ou, em vez de ficar calado numa reunião ( seja por timidez ou algo do tipo), tivesse [falado sobre algum risco](https://medium.com/revista-tspi/testes-baseados-em-riscos-risk-based-testing-b7dfa751ec17) que você sentiu

5. ou, desenvolvido uma automação simples (unidade, aceitação, ...)

**Falando em automação**, ela é essência para dar suporte e podermos focar no que realmente importa. O desenvolvimento da automação é "dolorosa" no início, mas depois de desenvolvida e adicionada na regressão, vemos o quão prazeroso é saber que vários cenários estão sendo executados de forma automatizada e sem intervenção do seu time, inclusive, seja amigo do DevOps! Esse carinha irá te ajudar a colocar a regressão no CI/CD e agendar a execução da regressão.

> Regressão automatizada salva vidas!
> 
> \- Autor

Se você chegou até aqui, percebeu os benefícios que é aplicar esta prática, porém sabemos que nem sempre será fácil. Você pode estar inserido numa empresa com uma cultura mais tradicional e com pessoas que são resistentes a mudanças. Paciência... Procure fazer a sua parte propondo melhorias como, por exemplo:

1. Criar uma definição de Feito (DOD)

3. Criar uma definição de "Pronto para Desenvolver" (DOR)

5. Você QA começar a participar de reuniões que envolvam o negócio, requisitos, etc e começar a ter visão do todo. Acredito que aqui você já pode ter uma ideia de como será o fluxo e poderá desenvolver um teste automatizado

7. Propor uma forma de passagem de conhecimento para o time no sentido de várias pessoas terem conhecimento sobre regras do negócio ou sobre um certo módulo do sistema. Existem várias formas e ferramentas especializada como [Confluence](https://www.atlassian.com/br/software/confluence), [Notion](https://www.notion.so/) ou o bom e velho Google Docs. O importante é guardar onde possa ser consultado por todos do time

9. Propor um processo com prática do Shift-Left Testing

## Resumo

1. Não é moderno somente uma pessoa cuidar da qualidade. Cada integrante do time deverá ser responsável pela qualidade do projeto como um todo

3. Automação é essencial para podermos escalar a qualidade e testar mais cedo

5. Com a prática do Shift-Left, podemos antecipar correções e melhorias, sejam de códigos ou documentação

7. A prática do Shift-Left Testing poderá trazer otimização de custos (não somente o financeiro)

9. O time e o negócio terão mais confiança

## Conclusão

Por fim, espero ter esclarecido sobre o seria a prática do Shift-Left e como ela pode ajudar na prática as equipes a terem mais qualidade. Espero, também, ter demonstrado que qualidade não é só, somente só, encontrar BUGs e sim colaborar com a qualidade de todo o projeto. A adoção desta prática dar maior satisfação para o time, pois as coisas se tornam mais previsíveis e para o cliente, pois as entregas serão mais constantes e com menos a nenhum defeito.

Todo mundo ganha!

* * *

## Referências

1. _Shift-Left Testing_ - [www.browserstack.com/guide/what-is-shift-left-testing](http://www.browserstack.com/guide/what-is-shift-left-testing)

3. Shift Left Testing - [https://www.linkedin.com/pulse/shift-left-testing-s%C3%A9rgio-luiz-braga-almeida/](https://www.linkedin.com/pulse/shift-left-testing-s%C3%A9rgio-luiz-braga-almeida/)

5. SHIFT LEFT TESTING: A PRÁTICA DE TESTE QUE ANTECIPA PROBLEMAS E ACELERA ENTREGAS - [https://blog.onedaytesting.com.br/shift-left-testing/](https://blog.onedaytesting.com.br/shift-left-testing/)

7. What The Shift Left in Testing Means - [https://smartbear.com/learn/automated-testing/shifting-left-in-testing/](https://smartbear.com/learn/automated-testing/shifting-left-in-testing/)

9. Shift Left Testing: What, Why & How To Shift Left - [https://www.bmc.com/blogs/what-is-shift-left-shift-left-testing-explained/](https://www.bmc.com/blogs/what-is-shift-left-shift-left-testing-explained/)
