SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
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
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
15.
Os números romanos
Os 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)
16.
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.
17.
Os números romanos
Criaremos uma classe de teste de unidade
Instanciaremos uma classe que não existe
O teste, obviamente, falhará!
18.
Os números romanos
Testa falha por problema de compilação...
Não existe a classe ConversorDeNumerosRomanos
19.
Os números romanos
Criaremos a classe
Criaremos o método para passar o teste
20.
Os números romanos
Executaremos o teste unitário.
O Test passa, mas o código ainda não está OK!
21.
Os números romanos
Criaremos mais testes para garantir o
funcionamento e implementação
22.
Os números romanos
E execução do teste falhará no novo método,
pois não implementamos o conversor para o “V”
23.
Os números romanos
Alteramos o método converte para que seja
possível retornar os valores correspondentes a
“I” ou “V”
24.
Os números romanos
Agora os dois testes passam com sucesso!
25.
Os números romanos
Agora podemos implementar o restante dos
números que faltam
26.
Os números romanos
Agora adicionaremos um pouco mais de
complexidade testando a conversão de “II”
27.
Os números romanos
Poderíamos simplesmente adicionar o “II” na
tabela certo?
Mas vamos fazer melhor...
28.
Os números romanos
Uma possível solução é acumular o valor
29.
Os números romanos
Onde alteramos a tabela para char
30.
Os números romanos
Agora adicionaremos um teste um pouco mais
“complexo” para testar a função converte
32.
Os números romanos
Agora precisamos tratar os números como “IX”
onde não adianta somente somar os valores
33.
Os números romanos
Agora teremos que alterar o código
34.
(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
35.
De onde veio?
• Kent Back (criador do JUnit)
• Prática conhecida do XP (Test First)
36.
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!
37.
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