introdução ao tdd (test-driven development) - #guma10anos
DESCRIPTION
Introdução ao TDD (Test-Driven Development) palestrado no #guma10anos. Fazendo uma relação com o TFD (Test First Development) e Refatoração, xUnit, Baby Steps, Clean Code, Patters para TDD, Agile Testing e ATDD (Acceptance Test-Driven Development). Ao final os Coding Dojos já realizados pelo RSJUG. Ao final um Prepared Kata demonstrando o TDD na prática.TRANSCRIPT
![Page 1: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/1.jpg)
Introdução ao TDDDionatan Mouraabout.me/dionatanmoura
#guma10anosAbril de 2014
![Page 2: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/2.jpg)
Introdução ao TDD➔ Extreme Programming➔ TDD➔ Refatoração➔ xUnit➔ Baby Steps➔ Clean Code➔ Patterns para TDD
➔ Red Bar➔ Test➔ Green Bar➔ Design Patterns
➔ Agile Testing➔ ATDD➔ Dojos
![Page 3: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/3.jpg)
![Page 4: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/4.jpg)
http://commons.wikimedia.org/wiki/File:Creador_de_la_metodologia_xp.jpg
“Test-Driven Development (TDD) é uma técnica para contrução de software que guia o desenvolvimento de
software através da escrita de testes.Kent Beck
![Page 5: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/5.jpg)
![Page 6: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/6.jpg)
https://5com1001-0912.wikispaces.com/
![Page 7: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/7.jpg)
http://alisina.org/blog/2013/10/31/taqiyah-is-onion-shaped/
EstratégiaEstratégiaPortfólioPortfólio
ProdutoProdutoReleaseRelease
IteraçãoIteraçãoDiáriaDiária
TDDTDD
![Page 8: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/8.jpg)
RegrasI. Escrever novo código somente se já existir um teste automatizado falhando
II. Eliminar duplicação
![Page 9: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/9.jpg)
Escreva um teste para o próximo
pedaço da funcionalidade.
3 Passos
http://www.pro-tools-expert.com
![Page 10: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/10.jpg)
Escreva um teste para o próximo
pedaço da funcionalidade.
3 PassosEscreva código funcional até o teste passar.
Refatore o código novo (e antigo) até ficar bem estruturado.
http://www.pro-tools-expert.com
![Page 11: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/11.jpg)
Escreva um teste para o próximo
pedaço da funcionalidade.
3 PassosEscreva código funcional até o teste passar.
Refatore o código novo (e antigo) até ficar bem estruturado.
http://www.pro-tools-expert.com
![Page 12: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/12.jpg)
http://agileinaflash.blogspot.com.br/2009/02/red-green-refactor.html
Mantra do TDD
![Page 13: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/13.jpg)
TDD.equals(TFD + Refatoração);
![Page 14: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/14.jpg)
TFDTestFirstDevelopment (code)
TDD.equals(TFD + Refatoração);
![Page 15: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/15.jpg)
Refatoração“Uma mudança feita na estrutura interna do software para deixá-lo
mais fácil de entender e barato de modificar sem
mudar seu comportamento
observável.”
Martin Fowler
http://martinfowler.com
TDD.equals(TFD + Refatoração);
![Page 16: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/16.jpg)
Refatoração no TDD
ComportamentoObservável
==Testes
![Page 17: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/17.jpg)
xUnit para TDD
![Page 18: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/18.jpg)
Como escrever código simples para rodar o teste, e com uma refatoração por vez?
![Page 19: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/19.jpg)
Baby Steps
http://rusbase.com/news/author/williamlearn2ru/learn2-baby-steps/
![Page 20: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/20.jpg)
Mas cuidado!
https://www.mulberrybush.co.uk/
![Page 21: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/21.jpg)
“O objetivo do TDD éescrever clean code que funciona.”
Ron Jeffrieshttps://twitter.com/RonJeffries
![Page 22: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/22.jpg)
Clean Code
http://programmer.97things.oreilly.com/wiki/index.php/Uncle_Bob
![Page 23: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/23.jpg)
![Page 24: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/24.jpg)
Lembre-se...
![Page 25: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/25.jpg)
http://agileinaflash.blogspot.com.br/2009/02/red-green-refactor.html
![Page 26: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/26.jpg)
Patterns para TDD
![Page 27: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/27.jpg)
Patterns para TDDTest
Como testar software?
Escreva um teste automatizado.
![Page 28: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/28.jpg)
Patterns para TDDIsolated Test
Como os testes devem afetar uns aos outros?
De modo algum.
![Page 29: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/29.jpg)
Patterns para TDDTest List
O que testar?
Comece uma lista com os testes que você sabe.
![Page 30: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/30.jpg)
Patterns para TDDTest First
Quando escrever os testes?
Antes de escrever o código (a ser testado).
![Page 31: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/31.jpg)
Patterns para TDDAssert First
Quando escrever os asserts?
Tente por primeiro.
![Page 32: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/32.jpg)
Patterns para TDDTest Data
Quais dados usar para os testes?
Dados que facilitam a leitura dos testes e a continuidade.
![Page 33: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/33.jpg)
Patterns para TDDEvident Data
Como representar o objetivo dos dados?
Com um relacionamento evidente entre resultado esperado e resultado real
![Page 34: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/34.jpg)
Red Bar Patterns
![Page 35: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/35.jpg)
Red Bar PatternsOne Step Test
Qual teste pegar da lista?
O que vai te ensinar algo e que se tem certeza de implementar.
![Page 36: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/36.jpg)
Red Bar PatternsStarter Test
Com qual caso de teste começar?
Comece por uma variante da operação que faz nada.
![Page 37: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/37.jpg)
Red Bar PatternsLearning Test
Quando escrever testes para software externo?
Antes da primeira vez de utilizar uma nova funcionalidade externa.
![Page 38: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/38.jpg)
Red Bar PatternsAnother Test
Como manter uma discussão técnica fora do tópico?
Adicione na lista e volte ao tópico original.
![Page 39: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/39.jpg)
Red Bar PatternsRegression Test
O que fazer com um defeito relatado?
Escreva o melhor teste que falhe.
![Page 40: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/40.jpg)
Red Bar PatternsBreak
O que fazer quando se está cansado ou travado?
Faça uma pausa.
![Page 41: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/41.jpg)
Red Bar PatternsDo Over
O que fazer quando se está perdido?
Jogue fora o código e recomece.
![Page 42: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/42.jpg)
Red Bar PatternsCheap Desk, Nice Chair
Qual configuração física para TDD?
Tenha uma cadeira muito boa, economizando no resto da mobília.
![Page 43: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/43.jpg)
Testing Patterns
![Page 44: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/44.jpg)
Testing PatternsMock Object
Como testar um objeto com recursos caros ou complicados?
Crie uma versão fake com respostas constantes.
![Page 45: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/45.jpg)
Testing PatternsBroken Test
Como deixar uma sessão sozinha de programação?
Deixe o último teste quebrado.
![Page 46: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/46.jpg)
Testing PatternsClean Check-in
Como deixar uma sessão em time de programação?
Deixe todos os testes rodando.
![Page 47: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/47.jpg)
Green Bar Patterns
![Page 48: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/48.jpg)
Green Bar PatternsFake It
Qual será a primeira implementação do teste?
Retorne uma constante, e depois refatore em variáveis.
![Page 49: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/49.jpg)
Green Bar PatternsTriangulate
Como fazer a maior abstração conservativa com testes?
Abstraia apenas quando houver 2+ testes.(Similar à indução matemática)
![Page 50: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/50.jpg)
Green Bar PatternsObvious Implementation
Como implementar operações simples?
Apenas implemente-as.
![Page 51: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/51.jpg)
Green Bar PatternsOne to Many
Como implementar uma operação de coleção de objetos?
Implemente inicialmente sem coleções.
![Page 52: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/52.jpg)
Design Patternsbases para TDD
![Page 53: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/53.jpg)
Design Patterns bases
![Page 54: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/54.jpg)
![Page 55: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/55.jpg)
E para não esquecer...
![Page 56: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/56.jpg)
http://agileinaflash.blogspot.com.br/2009/02/red-green-refactor.html
![Page 57: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/57.jpg)
Teste é o foco do TDD?
![Page 58: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/58.jpg)
“The focus of TDD is design.Test is a (nice) side effect.”
Marco Trincardi
![Page 59: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/59.jpg)
TDD usa apenas Unit Testing?
![Page 60: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/60.jpg)
“O ato de escrever um teste de unidade é mais
um ato de design do que de verificação.”Uncle Bob (Robert C. Martin)
http://www.techcn.com.cn
![Page 61: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/61.jpg)
Agile Testing
http://lisacrispin.com
![Page 62: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/62.jpg)
![Page 63: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/63.jpg)
Mas e o tal de ATDD?
http://greatmiddleway.wordpress.com
![Page 64: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/64.jpg)
<Título>Como um <papel de usuário>Eu quero <objetivo> Para que <razão>
ATDDAcceptance Test-Driven
Development Critério de Aceitação Dado que <pré-condição> Quando <ação> Então <resultado>
![Page 65: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/65.jpg)
ATDD TDD
![Page 66: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/66.jpg)
TDD é sobre quando e como codificarATDD é sobre o que codificar
![Page 67: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/67.jpg)
![Page 68: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/68.jpg)
JUnit Test Infected: Programmers Love Writing
Tests
http://junit.sourceforge.net/doc/testinfected/testing.htm
![Page 69: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/69.jpg)
Como aprender TDD?
![Page 70: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/70.jpg)
Por que Dojos com TDD?
![Page 71: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/71.jpg)
“Ensinar não é transferir conhecimento, mas criar as possibilidades para a sua própria produção ou
a sua construção.”Paulo Freire
http://aosmestresdaeducacao.blogspot.com.br
![Page 72: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/72.jpg)
![Page 73: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/73.jpg)
RSJUGRoman Numerals
![Page 74: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/74.jpg)
RSJUGTroLolo
(FizzBuzz)
![Page 75: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/75.jpg)
RSJUGConstruindo uma DSL com Java e ANTLR
![Page 76: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/76.jpg)
RSJUGTestando aplicações Java Web fora do
container
![Page 77: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/77.jpg)
Mas como começar já nessa segunda-feira?
![Page 78: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/78.jpg)
http://www.cakeeventsblog.com
![Page 79: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/79.jpg)
Implicações Sociais
✔ Menos surpresas desagradáveis✔ QA proativo✔ Maior colaboração entre o time✔ Entrega contínua
![Page 80: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/80.jpg)
E não esqueça:
![Page 81: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/81.jpg)
http://blog.gravypower.net/
![Page 82: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/82.jpg)
http://agileinaflash.blogspot.com.br/2009/02/red-green-refactor.html
![Page 83: Introdução ao TDD (Test-Driven Development) - #guma10anos](https://reader034.vdocuments.mx/reader034/viewer/2022052522/5549fbcdb4c905e56c8b4b36/html5/thumbnails/83.jpg)
Obrigado!
Obrigado!Obrigado!