Upload
elias-nogueira
View
7.793
Download
4
Embed Size (px)
DESCRIPTION
Apresentação sobre TDD - Test Driven Development no Campus Party 2013 em São Paulo no dia 2/2/2013 onde apresento o que é TDD com uma abordagem prática
Citation preview
Os números romanosOs números eram representados por sete diferentes símbolos
• I, unus, 1, (um)• V, quinque, 5 (cinco)• X, decem, 10 (dez)• L, quinquaginta, 50 (cinquenta)• C, centum, 100 (cem)• D, quingenti, 500 (quinhentos)• M, mille, 1.000 (mil)
Os números romanos
Algarismos de menor ou igual valor à direita são somados ao algarismo de maior valor
Algarismos de menor valor à esquerda são subtraídos do algarismo de maior valor.
Os números romanosCriaremos uma classe de teste de unidadeInstanciaremos uma classe que não existe
O teste, obviamente, falhará!
Os números romanosTesta falha por problema de compilação...Não existe a classe ConversorDeNumerosRomanos
Os números romanosE execução do teste falhará no novo método, pois não implementamos o conversor para o “V”
Os números romanosAlteramos o método converte para que seja possível retornar os valores correspondentes a “I” ou “V”
Os números romanosPoderíamos simplesmente adicionar o “II” na tabela certo?
Mas vamos fazer melhor...
Os números romanosAgora adicionaremos um teste um pouco mais “complexo” para testar a função converte
Os números romanosAgora precisamos tratar os números como “IX” onde não adianta somente somar os valores
(1) Escrever um teste simples
(2) Vê se ele falha
(3) Implementa uma solução simples pra resolver
(4) Refatora para remover duplicidade
TDD – Test Driven Development
Benefícios da adoção do TDD
• Primeiro foco em teste, depois na implementação
• Código já nasce testado
• Simplicidade e melhor design
• Feedback rápido
• Segurança!
Ferramentas xUnit
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
• São as ferramentas para a criação de testes unitários
• Existem diversas ferramentas para todo o tipo de linguagem
Test-Driven DevelopmentBy ExampleKent Beck
http://goo.gl/0vQv
@eliasnogueira
http://about.me/eliasnogueira
http://slideshare.net/elias.nogueira
https://github.com/eliasnogueira/tdd-exemplo