Por que você deve considerar o Cypress em sua stack tecnológica

Cypress.io é um framework de testes automatizados moderno e está se popularizando cada vez mais no mercado de tecnologia da informação.

Por desconhecimento, acabamos pensando que é só mais um framework de testes, que é hype e que logo vai passar e outro virá para o substituir.

Eu também pensava assim, até dar-lhe uma chance, em meados de 2019, e desde então venho usando Cypress com sucesso em diferentes projetos de software. Além disso, tenho recebido ótimos feedbacks dos alunos da Escola Talking About Testing, os quais estão estudando a ferramenta e colocando os conhecimentos aprendidos em prática em projetos reais.

Portanto, pra te ajudar nessa tomada de decisão, seguem dez motivos para você utilizar Cypress na automação de testes de aplicações web.

1. Zero configuração para começar

Após instalar e inicializar o Cypress, tudo já está pronto para sair usando, sem a necessidade de configurações.

Instalou. Inicializou. E você já pode começar a escrever testes automatizados para garantir que as funcionalidades mais importantes da aplicação estão cobertas. Fácil assim.

O Cypress já trás até exemplos executáveis de como usar cada uma de suas funcionalidades, para te ajudar a testar as mais diversas situações encontradas em aplicações web modernas.

A propósito, fiz uma live explorando alguns desses exemplos. Segue o link caso queira conferir.

2. Baixa curva de aprendizado

Esta é minha percepção e de todos os profissionais com os quais já conversei sobre o quão fácil acharam aprender a usar a ferramenta.

Porém, devemos considerar que o time já possua conhecimentos de JavaScript e seletores CSS, afinal, tais conhecimentos são necessários independentes do framework de testes escolhido.

3. Excelente experiência de desenvolvimento

Desenvolver testes com Cypress é prazeroso.

O Cypress quando inicializado para execução de testes em modo interativo possui um test runner, o qual disponibiliza funcionalidades tais como:

  • Watch mode – para que assim que um arquivo de teste for salvo, os testes sejam re-executados
  • Time-travel – para ajudar você a depurar falhas em testes, onde snapshots do estado da aplicação são salvos antes e depois de cada ação, e você pode “voltar no tempo” para ver exatamente tudo que aconteceu enquanto os testes executavam
  • Dev tools – Aqui você vai encontrar logs no console do navegador com elementos retornados por seletores CSS, requisições que ocorreram, e muito mais.
  • Screenshots – quando um teste falha com Cypress, uma screenshot é automaticamente tirada como evidência do teste, facilitando o entendimento da falha e então sua resolução
  • Vídeos – quando executados em modo headless, vídeos da execução dos testes são automaticamente salvos, também podendo ser utilizados como evidências de bugs.
  • E muito mais

4. Tudo já vem empacotados para sair usando

No Cypress, diferentes ferramentas famosas e conhecidas pela comunidade JavaScript vem empacotadas para uso, tais como as bibliotecas de assertions Mocha e Chai, a biblioteca Sinon, para mocks, o Lodash, com suas diversas funcionalidades (minha favorita é o _.times), além do jQuery, Moment, etc.

5. Esperas automáticas

Por padrão, o Cypress já espera por elementos estarem visíveis antes de tentar interagir com estes, já aguarda automaticamente por requisições acabarem antes de seguir adiante com os testes, e até mesmo aguarda por animações finalizarem.

Ainda assim, a ferramenta permite a customização destes comportamentos, para tornar os testes ainda mais robustos e confiáveis.

6. Controle do tráfego de rede

Com funcionalidades como o cy.intercept(), você pode interceptar requisições HTTP, dar nome à estas, e aguardar que sejam concluídas antes de seguir adiante com os testes, tornando-os robustos.

Além disso, você pode até mesmo mockar a resposta de tais requisições, para testar o frontend independente do backend.

7. Diversos tipos de testes automatizados

Com Cypress, além de testes end-to-end, você pode também escrever e executar testes de APIs, testes de frontend applications, testes de componentes de frontend, testes de regressão visual, testes de acessibilidade, e se você quiser, até mesmo uma combinação dos anteriores.

8. Documentação top!

Quando dei uma chance ao Cypress, fiquei extremamente impressionado com o alto nível de sua documentacão.

Além de detalhadas explicações de seu uso, a documentação também cobre boas e más práticas na escrita de testes automatizados, trade-offs e suas respectivas alterenativas, vídeos demonstrando seu uso, blog posts densos e detalhados, links para palestras em grandes conferências, webinários, etc.

9. Ajuda das(os) frontend developers

Ainda hoje, muitas(os) desenvolvedoras(es) não são acostumadas(os) em escrever testes end-to-end.

Não as(os) culpo, pois até antes do Cypress, esse trabalho era doloroso.

Porém, como o Cypress diz em seu slogana web evoluiu. Finalmente os testes também. E é isso mesmo. O Cypress é uma ferramenta de testes automatizados diferenciada.

Com isso, a ferramenta está atraindo cada vez mais frontend developers ao seu ecosistema, visto que estas(es) são grandes conhecedoras(es) de JavaScript.

E ter devs escrevendo ou ajudando com os testes automatizados é de grande valia.

10. Comunidade

Pelo fato de ser uma ferramenta open-source, o Cypress possui uma comunidade engajada, com profissionais ao redor do globo ajudando e difundindo seus casos de sucesso.

A Talking About Testing faz parte dessa comunidade, e portanto, aproveito para recomendar a série “pitadas de Cypress” aqui no blog e as playlists explorando a Cypress Real World Appcy.chat() e cy.handsOn(),  no YouTube.


Minha recomendação pessoal.

Vai começar um projeto web do zero. Vai de Cypress!

Ou então, se você está tendo problemas com sua suite de testes atual, tais como instabilidade nos resultados (flaky tests), ou dificuldade de engajar desenvolvedoras e desenvolvedores a escreverem (ou ao menos corrigirem) testes, faça uma prova de conceito com o Cypress. Quem sabe esses problemas serão eliminados.

Espero que este conteúdo tenha esclarecido os motivos para você considerar o framework de testes automatizados Cypress.io em sua stack tecnológica.


Quer aprender mais sobre Cypress?

Conheça a formação de Cypress da Escola Talking About Testing.

Inicie com o curso básico de Cypress.

Depois, no curso intermediário, aprenda como criar testes end-to-end mais rápidos, independentes e robustos, com a ajuda chamadas de API.

No curso de testes de regressão visual com Cypress e Percy, garanta o aspecto visual da aplicação.

Então, vá além, e aprenda como testar aplicações web desacoplando o frontend do backend, com o curso avançado de Cypress.

Por fim, conheça as boas práticas na escrita de testes automatizados escritos com Cypress e garanta testes robustos e direto ao ponto.


Até a próxima e bons testes! 👋


Este conteúdo foi traduzido para inglês e pode ser encontrado no DEV Community.

5 comentários em “10 motivos para você usar Cypress na automação de testes web

  1. só senti falta do termo QA, afinal, muitos profissionais da área de qualidade está partindo para teste automatizados com uso do Cypress, eu sou uma dela, no mais, ótimo pontos levantados !

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s