Test Driven Development
-
Upload
vinicius-quaiato -
Category
Technology
-
view
4.139 -
download
1
description
Transcript of Test Driven Development
TDD e TestesSoftware, design e sossego
Saturday, August 6, 11
@vquaiatoprogramadorpalestrante
paisantista
entusiastaconsultor
etc, etc, etc
Saturday, August 6, 11
@vquaiatohttp://viniciusquaiato.com
http://crafters.com.br
Saturday, August 6, 11
vamos falar um pouco sobre testes
Saturday, August 6, 11
agendasoftware
o que são testes
por que testar?
por que não testar?
unit tests
demo
test driven development
demo
mocks & stubs
Demo
Saturday, August 6, 11
quem são vocês?Saturday, August 6, 11
O que espera
m?
Por que acreditam nos testes?
Por que nunca fizeram?
Saturday, August 6, 11
Saturday, August 6, 11
Software dóiSaturday, August 6, 11
Cansa bastante
Saturday, August 6, 11
É trabalho duro
Saturday, August 6, 11
Difícil de manter
Difícil evoluir
Bugs são persistentes
Correções geram mais bugs
Medo de mexer no código
Perda de tempo
etc, etc, etc...
Saturday, August 6, 11
Queremos relaxarSaturday, August 6, 11
Testes
Saturday, August 6, 11
Forma de garantir que o software:
atende aos propósitos de negócio
funciona como esperado
Testes
Saturday, August 6, 11
maneira verificável de garantir que o software
atende às necessidades de negócio e funciona como
esperado
Saturday, August 6, 11
maneira verificável de garantir que o software
atende às necessidades de negócio e funciona como
esperado
Saturday, August 6, 11
Por que testar?
Saturday, August 6, 11
Por que me preocupar com isso?
Saturday, August 6, 11
saber que algo funciona
Saturday, August 6, 11
saber que algo funciona
saber que algo terminou
Saturday, August 6, 11
saber que algo funciona
saber que algo terminou
saber que algo continuará funcionando
Saturday, August 6, 11
saber que algo funciona
saber que algo terminou
saber que algo continuará funcionando
segurança
Saturday, August 6, 11
saber que algo funciona
saber que algo terminou
saber que algo continuará funcionando
segurança
sossego
Saturday, August 6, 11
Por que não testar?
Saturday, August 6, 11
Por que não me preocupar com isso?
Saturday, August 6, 11
testar demora
Saturday, August 6, 11
testar demora
estamos sem tempo
Saturday, August 6, 11
testar demora
estamos sem tempo
eu sou senior
Saturday, August 6, 11
testar demora
estamos sem tempo
eu sou senior
assim funciona
Saturday, August 6, 11
você só engana a você
Saturday, August 6, 11
Unit Teststestes de unidade
Saturday, August 6, 11
unit teststestam uma unidaderápidos de executar
independentesrepetíveis
verificáveis
Saturday, August 6, 11
demo!
Saturday, August 6, 11
unit tests
provém feedback quase instantâneo
auxiliam na escrita do código
está difícil testar? Refatore.
ajudam com correções/evoluções
ajudam com regressões
o que funcionava, deve continuar funcionando
Saturday, August 6, 11
unit tests
verificáveis
sabemos de forma clara se está certo ou não
repetíveis
executamos N vezes e obtemos o mesmo resultado
executáveis
ao clique de um botão
rápidos
Saturday, August 6, 11
Nem tudo é sobre testes
Saturday, August 6, 11
Saturday, August 6, 11
Test Driven Development
Saturday, August 6, 11
Test Driven Development
Saturday, August 6, 11
test driven
usa testes para guiar o código
testes são uma ferramenta
Saturday, August 6, 11
test driven
escreva um teste que falhe
faça o teste passar
refatore o código
Saturday, August 6, 11
design driven
teste atua como ferramenta
ajuda a desenhar o código
ajuda a reescrever e melhorar
Saturday, August 6, 11
demo!
Saturday, August 6, 11
ok, mas e o banco de dados?
Saturday, August 6, 11
mocks & stubs
Saturday, August 6, 11
fakes
objetos que ajudam a manter seus testes isolados
mocks e stubs são ambos tipos de fakes
Saturday, August 6, 11
stubs
geralmente fornecem dados/estados para que os testes possam ocorrer
não são o alvo dos testes
Saturday, August 6, 11
mocks
são “mímicos” de algum objeto
fornecem comportamento(controlado) para o teste
são o alvo do teste
Saturday, August 6, 11
demo!
Saturday, August 6, 11
tdd tipsnão tenha medo
pratique
leva tempo p/ ficar natural
te ajuda a enxergar o código
te ajuda a enxergar progresso
te ajuda a parar na hora certa
não desista na 1ª semana
é divertido
recompensador
incentive seus colegas
cuidado: vicia!Saturday, August 6, 11
perguntas?
Saturday, August 6, 11
obrigado!
Saturday, August 6, 11
@vquaiatohttp://viniciusquaiato.com
http://crafters.com.br
cursos, treinamentos, consultoria
Saturday, August 6, 11
book refs
Saturday, August 6, 11
link refs
http://groups.google.com/group/growing-object-oriented-software
http://viniciusquaiato.com/blog/category/tdd/
http://viniciusquaiato.com/blog/mvc-tdd/
http://viniciusquaiato.com/blog/diferenca-entre-mocks-e-stubs/
http://www.aniche.com.br/
Saturday, August 6, 11