Elimine os testes funcionais e utilize somente testes de regressão visual. Ou ao menos dê preferência à estes.

Você acha que testes funcionais de inteface gráfica podem ser substituídos por testes de regressão visual?

Este pode parecer um assunto um tanto quanto polêmico, mas tendo experiência em ambas as áreas e vendo a evolução das ferramentas de VRT (visual regression testing), estou inclinado a dizer que sim, creio que testes automatizados a nível visual podem substituir testes funcionais de GUI (graphical user interface).

Testes de regressão visual automatizados podem simular o uso de aplicações (tal como uma aplicação web) como se fossem usuários reais, além de adicionar a camada de validação visual.

Escrever testes de regressão visual é mais fácil e exige a escrita de menos código, visto que em vez de escrevermos scripts que verificam resultados esperados (assertions ou expectations), substituímos tal momento por verificações visuais, as quais a própria ferramenta de VRT pode fazer por nós sem a necessidade de qualquer código, dependendo da ferramenta escolida.

Menos código, menos complexidade. Menos complexidade, mais fácil manutenção e evolução dos testes. Além disso, menos complexidade pode ajudar na introdução de tal técnica no processo de desenvolvimento de software quando comparada aos testes funcionais de GUI, os quais tem a má fama de serem flaky.

Com o uso de VRT, testes podem ser executados em paralelo e em navegadores headless, ou seja, feedback mais rápido durante a execução dos testes. Isto também possibilita que testes de regressão visual sejam facilmente adicionados ao processo de integração e entrega ou deploy contínuo.

Além disso, ao utilizar a prática de testes de regressão visual é possível se beneficiar de executar testes em diferentes navegadores (tais como Chrome e Firefox) e executar os mesmos testes em diferentes viewports, o que é excelente quando se fala de aplicações responsivas.

Ou seja, conhecendo os poderes do VRT é possível sim eliminar os testes funcionais a nível de interfáce gráfica de usuário, continuar testando o que já se testava com tal abordagem, e adicionar mais uma camada de validação no ciclo de vida do desenvolvimento de software, o que leva a software em produção com menos bugs e usuários mais felizes. =D

E você, já experimentou testes de regressão visual? Gostaria de aprender mais sobre o assunto? Aproveite o mais novo curso da Escola Talking About TestingTestes de Regressão Visual com BackstopJS.

E bons testes!

2 comentários em “Otimize os testes automatizados de GUI

Deixe um comentário