1
resposta

[Dúvida] Testes de Regressão são os mesmo que Snapshots?

Olá, onde trabalho temos um teste de snapshot e gostaria de saber se seria a mesma coisa que um teste de regressão ou se são coisas totalmente diferentes.

1 resposta

Oi, Bruna! Tudo bom? Espero que sim.

Gostei muito da sua pergunta. Vamos entender os dois tipos de testes.

Testes de Snapshot

Este tipo de teste pode ser usado para testar o visual da sua aplicação, como os estilos, por exemplo, pois você consegue tirar um screenshot do seu código e comparar com futuras alterações.

Isso garante que toda nova alteração e atualização do seu código precisa estar de acordo com os padrões que você ou seu time/equipe estabeleceram.

O problema dos testes de snapshots é que eles podem acabar ficando desorganizados no seu projeto, não fazem realmente uma verificação visual do que os componentes/telas da sua aplicação devem mostrar (Eles apenas tiram fotos do código) e precisam de outras asserções para garantir a qualidade e dar mais confiabilidade de que ao seu código.

Testes de snapshots são ótimos recursos quando você deseja ter prints do seu código, mas de forma pontual, determinados trechos de código, etc.

Testes de Regressão Visual

Agora, se você quer ter uma maneira de garantir estilos de CSS nos testes unitários, uma forma que seja muito mais clara e organizada é utilizando ferramentas de regressão visual.

Antes de falar sobre regressão visual, precisamos esclarecer os testes de regressão, que basicamente garantem que, mediante novas alterações nas funcionalidades da sua aplicação ou sistema, o restante deste mesmo sistema continuará intacto.

Quando falamos de testes de regressão visual, aplicamos este mesmo conceito para nossas interfaces. Isso quer dizer que, conforme nossa aplicação cresce e novos componentes e interfaces surgem, garantimos que nenhum detalhe passa sem uma devida aprovação.

Na prática, o que uma ferramenta de regressão visual faz é tirar uma sequência de screenshots dos seus componentes e/ou das suas telas e salva essas referências em alguma pasta para validá-las futuramente. A ideia disso é que a cada nova alteração ela seja comparada com as imagens de referência, e por meio de alguns algoritmos de verificação e reconhecimento nos pixels em tela, a ferramenta verifica se houve mudança em algum componente de interface.

Caso exista, há sim uma etapa extra de aprovação para que essas modificações sejam aprovaas antes de ir ao ar. Uma importante ferramenta de regressão visual é o Loki.


Em resumo

Os testes de snapshot não tiram prints da sua tela, mas sim do seu código e usam isso para comparação futura caso haja uma nova alteração nesses componentes de interface.

Os testes de regressão visual tiram vários prints de seus componentes, de sua tela, são mais visuais e mostram exatamente como aparecem os seus componentes de interface. Eles usam essas imagens como referência para comparar com futuras alterações nesses componentes/telas.