5 dicas para que o BDD agregue mais para o seu time
Oi, como vão vocês? Resolvi escrever sobre BDD, são 5 dicas rápidas e importantes para que o BDD agregue mais ao time. Pretendo escrever mais sobre o assunto, espero que gostem desse primeiro post.
Inclua uma descrição para funcionalidades
É importante passar um contexto para quem está lendo, insira uma descrição resumida da funcionalidade antes da escrita dos cenários. Duas perguntas que eu me faço sempre ao escrever um BDD:
Se fosse a primeira vez que eu estou lendo a funcionalidade conseguiria entender o principal propósito e os cenários sem precisar consultar outra documentação?
Daqui 6 meses quando for necessário ler o BDD novamente vou conseguir entender a funcionalidade e todos os cenários descritos?
Use os termos do negócio
Escreva o BDD na linguagem usada pelo time no dia a dia, assim o entendimento será mais rápido para todas as partes. É importante que todos os membros entendam a importância de se utilizar os mesmos jargões durante o projeto, então crie um dicionário caso necessário.
Irei usar Star Wars como exemplo
Como não fazer:
Mesmo você conhecendo Star Wars talvez tenha demorado um pouco para entender o que está acontecendo nesse cenário, vamos melhorar um pouco esse cenário passando palavras que fazem sentido para o “negócio”.
Como fazer:
Com pequenas mudanças temos um cenário bem mais fácil de ser compreendido por todas as partes interessadas.
Envolva o time na criação do BDD
O QA geralmente é evangelizador do BDD mas em um cenário ideal não é o único que escreve, faça os membros da equipe praticarem a escrita e aos poucos passe a responsabilidade para outros membros, faça um code-review dos BDD’s apontando melhorias para a escrita. Só a prática leva a perfeição.
Converse com o time sobre em qual camada automatizar o cenário descrito no BDD
Automação não existe apenas nas camadas de UI e de Serviço, sempre tenha em mente a pirâmide de testes durante a automação dos cenários e seja crítico em relação onde o cenário criado deve ser automatizado. Converse com o seu time e verifique se faz sentido levar a automação para as camadas da base da pirâmide.
Atualize o BDD quando necessário
Um ponto difícil e que requer disciplina é atualização do BDD conforme modificações na funcionalidade. A dica é ter todos os BDDs bem acessíveis para que o time possa encontrar e modificar os BDDs quando existir a necessidade. O BDD é como uma planta e requer cuidados, mas o QA não é único que pode mante-la bonita e saudável.
Perguntas
Quais outras dicas voltadas para mindset e processo que poderíamos listar?
Já conseguiu colocar em prática alguma dessas dicas? Se sim, como?
Referências
https://www.thoughtworks.com/pt/insights/blog/3-misconceptions-about-bdd
https://martinfowler.com/articles/practical-test-pyramid.html
Livro Specification by Example por Gojko Adzic (Autor)