Escrita de cenário de teste usando BDD
- #BDD
Escrita de Cenário de teste é uma técnica utilizada para descrever um determinado comportamento de um sistema em diversas situações; sua descrição aborda uma linguagem natural, de fácil compreensão e deve ser transmitida de maneira clara.
Obviamente existem diversas abordagens para uma escrita de cenário de teste, porém a que irei abordar hoje (e de fato a que eu conheço) é o BDD (Behavior-Driven Development) ou em português Desenvolvimento Orientado a Comportamento.
O intuito do BDD em primeiro caso não foi voltado para a parte de escritas de testes funcionais, era mais voltado à parte de desenvolvimento, para os desenvolvedores se basearem encima do cenário de teste para desenvolverem seus códigos.
Ao escrever um cenário em BDD é quase regra que deve-se utilizar uma estrutura conhecida como Dado-Quando-Então ou em inglês Given-When-Then, ao se valer desta estrutura de escrita os cenários ficarão bem claros, com um principio, uma ação e um resultado.
A diante estarei explicando um pouco mais detalhadamente sobre:
- Dado(Given): Aqui eu costumo chamar de ponto de partida, é o ponto inicial de todo cenário de teste, será um pré-condição, antes de uma ação de fato ser executada.
- Quando(When): Aqui descreve a ação ou evento que será efetuado pelo sistema
- Então(Then): Aqui é esperado o resultado da ação anterior (Quando)
- Também em alguns cenários de testes é utilizado o "E" que servirá como um complemento detalhando o contexto do cenário de teste
Para ser mais didático estarei escrevendo um cenário simples de uma tela de login onde um usuário cadastrado fará uma tentativa de login com usuário e senha válidos:
- Dado que um usuário cadastrado na plataforma "A" esteja na tela de login
- Quando ele digitar o usuário e senha corretamente
- E clicar no Botão "Logar"
- Então o usuário terá feito um login com sucesso
Ao escrever um cenário de teste é necessário coesão, concisão, clareza e também se atentando a fluxos alternativos, como por exemplo, login com senha incorreta, login com e-mail não cadastrado, e assim por diante.
Uma boa escrita de cenário de teste agrega valor ao QA, organiza fluxos de testes, ajuda na detecção de problemas, capturam requisitos dentro da regra de negócio, ajuda na clareza e compreensão do sistema.