Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Projeto] BDD- Cenário de Senha Incorreta

Boa tarde, segue meu pensamento quanto ao exercício dado:

GHERKIN:

Dado: que eu tenha um usuário na minha plataforma;
Quando: Eu digitar meu username;
E: Eu tenha digitado a senha incorretamente;
E: Eu tente realização a ação de acesso;
Então: deve aparecer uma mensagem informando "falha no login senha ou usuário incorreto" (seja a senha estando incorreta ou o usuário incorreto).

Acabei colocando no Gherkin a senha e o username, porque assim evitamos de vazar os dados do nosso usuário para um possível hacker em potencial, fazendo com que o indivíduo/bot não saiba qual dos 2 esteja incorreto.

1 resposta
solução!

Oi, Alexandre! Tudo bem?

Bom ver você pensando no cenário BDD de senha incorreta com essa atenção ao detalhe.

Sua ideia faz sentido, cuidado de não revelar se o erro está no username ou na senha é uma prática comum em segurança da informação, chamada de mensagem de erro genérica. Isso evita que um atacante descubra, por tentativa e erro, quais usuários existem na base de dados só observando as respostas do sistema.

Uma dica interessante para o futuro é pensar em como isso também aparece na implementação do código, não só no cenário de teste.


function login(usuario, senha) {
  const usuarioValido = usuario === "admin";
  const senhaValida = senha === "1234";

  if (!usuarioValido || !senhaValida) {
    return "Falha no login: usuario ou senha incorretos";
  }
  return "Login realizado com sucesso";
}

console.log(login("admin", "senhaErrada"));

Neste ponto, o código verifica usuario e senha separadamente, mas sempre retorna a mesma mensagem genérica quando um dos dois está errado, exatamente como você descreveu no seu Gherkin.

Você já pensou em como escreveria um cenário parecido para testar tentativas repetidas de login incorreto, tipo um bloqueio de conta após várias falhas?

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