1
resposta

[Dúvida] Caso o teste falhe porque encontrou um bug não no teste mas no código da aplicação

Em todos os testes eles funcionaram corretamente mas e se o sistema tiver algum bug fazendo com que o teste não funcione. Não foi mostrado nenhum cenário assim.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oii, Gabriele.

Quando você escreve testes automatizados com o Cypress (ou qualquer outra ferramenta), o objetivo é justamente detectar quando algo no sistema não está funcionando como deveria. Por isso, se o teste falhar porque encontrou um bug, isso não significa que o teste está errado, na verdade, significa que ele cumpriu sua função.

Por que isso é importante?

  • Confiança no código: um teste que falha diante de um erro mostra que ele realmente está validando o comportamento esperado.
  • Feedback rápido: a falha aponta exatamente em qual parte do fluxo o problema aconteceu, ajudando a corrigir mais rápido.
  • Documentação viva: cada teste serve como um contrato: “o sistema deve se comportar assim”. Se esse contrato não for cumprido, a falha deixa claro que há um problema.

O que acontece depois da falha?

Quando o Cypress detecta que um teste não passou, ele interrompe aquele caso de teste e registra:

  • Qual teste falhou (mostrado em vermelho na interface).
  • O motivo da falha, geralmente indicando qual asserção não foi cumprida.
  • Prints de tela e vídeos (se configurados), mostrando o momento exato em que o erro ocorreu.

Depois disso, é necessário analisar a causa da falha:

  1. Se o bug está no código da aplicação: a funcionalidade não tá funcionando como deveria. Nesse caso, o teste foi útil porque identificou o problema antes de o usuário final encontrar.
  2. Se o bug está no próprio teste: às vezes a asserção foi escrita de forma incorreta ou faltou tratar algum detalhe, e então o teste precisa ser ajustado.

O ciclo completo funciona assim:

  1. O teste roda.
  2. Ele falha porque algo não correspondeu ao esperado.
  3. O Cypress gera relatório com logs, prints e vídeos.
  4. Você analisa o resultado e corrige o problema (no código ou no teste).
  5. Os testes são executados novamente até que todos passem.

Exemplo prático

Imagine que você tem um teste que verifica se, ao clicar no botão “Adicionar ao carrinho”, o item aparece no carrinho.

  • Se houver um bug no código e o item não for adicionado, o teste vai falhar.
  • Essa falha mostra que há um comportamento inesperado.
  • Depois da correção do código, o mesmo teste deve voltar a passar, garantindo que o problema foi resolvido.

Espero ter ajudado.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!