In English
BDD
sem usar
ferramentas
Aviso!
sessão experimental
Antes de qualquer coisa...
Três coisas
Técnica rápida pra voltar ao foco
Quem são as pessoas à sua volta?
Show of hands
ouviu falar de BDD
tentou usar
usa no dia-a-dia
BDD
Que palavras tem vem à mente?
O que eu mais ouço?
Ferramenta
seguido de Cucumber
Fixação por ferramentas
DANGER!
BDD é disciplina
não ferramentas
BDD - "Regras"
Nomes de testes devem ser frases
Nomes de testes devem ser expressivos
Comece o comportamento mais importante
Automatize o teste
BDD - Processo
Pensar na funcionalidade
... antes de começar
Quebrar em cenários
Começar pelo mais simples
Comecemos pelo requisito
qual formato?
[Título]
Para...
Eu, no papel de...
Quero...
Jedi Early Bird pra Agile Brazil
Para... garantir que vou ao Agile Brazil 2018 em Campinas com o melhor preço possível
Eu, no papel de... agilista interessada
Quero... pagar um preço bem menor se eu comprar ingresso antes de todo mundo
Jedi Early Bird pra Agile Brazil
Para... criar capital de giro desde cedo e medir o interesse na conferência
Eu, no papel de... pig da conferência
Quero... oferecer um desconto expressivo para quem se inscrever nesse ano, limitado a 50 inscrições
[2'] Em grupo...
Qual o cenário mais importante?
[5'] Refatoração!
Formato definido
Dado que... pré-condições
Quando faço... ação
Então... resultado esperado
O que eu quero discutir com vocês...
1. Quais as vantagens de pensar no comportamento de um requisito?
Participantes do Caipira Ágil mencionaram...
Nivelamento da informação do requisito
Foco sobre o que vai ser feito
Evitar retrabalho na validação
Dá pra pré-validar com cliente
Todos entendem o problema a ser resolvido
2. Quais as vantagens de pensar no comportamento ANTES de codar?
Participantes do Caipira Ágil mencionaram...
Visão maior do escopo facilita estimativas
Foca no que é importante
Evita fazer a mais (simplicidade)
Reaproveitamento de código de teste
Participantes do Caipira Ágil mencionaram...
Segurança/regressão/cobertura
Evita efeito dominó
Imita usuário, sem falhas humanas
Mais barato e rápido do que testar manualmente
Novos integrantes do time entendem o negócio
Menos tempo pra entrega e dev
Muito mais lento e caro que testes de unidade
Custo de implementar o teste é maior
Mais instável que outros tipos de teste
Participantes do Caipira Ágil mencionaram...
Cliente consegue entender também
Se seu cliente exige um relatório escrito em linguagem natural
Teoricamente, consigo envolver o cliente na escrita
Na vida real: o cliente não lê testes no repo de código
Uma camada a mais de código, aumenta complexidade
Mais difícil de entender o código por trás da linguagem natural
Quebra um pouco o reaproveitamento de código de teste
Compiladores não conseguem te ajudar (em várias tecnologias)
BDD
sem usar
ferramentas