1
resposta

[Dúvida] BDD - Cenário de Senha Incorreta

Cenário de senha incorreta na semântica BDD:

O correto então seria ter dois casos de teste para os cenários abaixo?

Cenário de senha incorreta 1ª tentativa:

Dado: que eu tenho um Usuário no AluraPic Quando: informar o nome/descrição do meu Usuário E: preencher uma senha incorreta E: apertar Confirmar Então: deve ser exibida uma mensagem: "Opa! Senha incorreta! Tente novamente!"

Cenário de senha incorreta 2ª tentativa:

Dado: que eu tenho um Usuário no AluraPic Quando: informar o nome/descrição do meu Usuário E: preencher uma senha incorreta por 2 vezes E: apertar Confirmar 2 vezes Então: deve ser exibida uma mensagem: "Atenção! Senha incorreta! Ao exceder 3 tentativas, gere uma nova senha!"

1 resposta

Olá, Wanderson! Tudo joia?

Você trouxe um ponto interessante ao pensar em dois cenários de teste separados para a validação de senhas incorretas! De fato, no contexto de BDD, é comum descrever diferentes cenários que refletem como o sistema deve se comportar em situações distintas, mesmo quando o objetivo é testar variações de um mesmo fluxo, como tentativas de login com senha incorreta.

No seu caso, os dois cenários que você propôs estão bem estruturados, e faz sentido tê-los como testes separados, pois cada um avalia um comportamento específico do sistema:

  1. Cenário de senha incorreta 1ª tentativa: esse cenário avalia a resposta do sistema após a primeira tentativa de login com senha incorreta. Ele garante que a mensagem de erro correta seja exibida imediatamente após a primeira falha.

  2. Cenário de senha incorreta 2ª tentativa: aqui, você está verificando o comportamento após uma segunda tentativa de login incorreta. Isso ajuda a garantir que o sistema não só mostre a mensagem de erro, mas também que forneça um aviso adicional após múltiplas tentativas falhas.

Separar os cenários dessa forma ajuda a garantir que cada comportamento esperado seja testado isoladamente, o que é uma boa prática em testes BDD. Isso também facilita a manutenção e a leitura dos testes, pois cada cenário tem um objetivo claro e distinto.

Se você continuar com essa abordagem, estará garantindo que seu sistema lide corretamente com essas situações e os usuários recebam feedbacks apropriados a cada interação.

Espero que isso tenha esclarecido sua dúvida! Se precisar de mais alguma coisa, estou à disposição.

Bons estudos!