8. Compreendi fazendo TDD
Confiança
Feedback curto
Ritmo
Lean
Kaizen
Eliminar disperdícios
Simplicidade
Olhar só para o presente
9. Compreendi fazendo TDD
Arquitetura emergente
Arquitetura aderente ao negócio, não o contrário
Relação entre pequenas mudanças cotidianas e
grandes resultados
23. Ciclo TDD
Faça a mudança mais simples para passar
Rode os testes e veja ser bem-sucedido
24. Ciclo TDD
Refatore para remover duplicação
Rode os testes e veja ser bem-sucedido
25. Impacto
Código vivo
Devemos escrever nossos testes
Ambiente rápido
Código testável, altamente coeso e fracamente
acoplado
A garantia de qualidade passa de reativo para pró-
ativo
26. Lista de testes
Liste os testes que precisa para terminar uma tarefa
Escolha o que mais pode te ensinar algo, que você
confia em implementar e aplique o ciclo TDD um por vez
Ao codificar, adicione os testes emergente no fim da lista
Ao codificar, crie uma lista de maus cheiros de código”
Crie todos os testes que consiga imaginar
27. Nomeando testes
Unidade de Trabalho
Cenário
Comportamento esperado
Retorno de valor
Exceção
Modificação de estado
Requisição de outro sistema
Modelo: UnidadeDeTrabalho_Cenario_ComportamentoEsperado
Exemplo: SalvarUsuario_SemCpf_LancarExcecao
28. Propriedades de um bom
teste
Deve ser relevante amanhã
Rodar com um apertar de botão
Deve rodar rápido
Deve ter resultados consistentes
Deve ter controle total sobre a unidade testada
Ao falhar, deve ser rápido de detectar e determinar onde
está o problema
30. Dados de teste
Fácil de ler
Fáceis de seguir
Se o sistema manipular várias entradas, você dever
ter os mesmos testes para a mesma unidade
Um dado não deve significar mais que uma coisa
Dados realistas
31. Dados evidentes
Não utilizar constantes nos testes
Deixar claro a relação das entradas e da asserção