25
TDD What, Why, How

TDD - What, Why, How

Embed Size (px)

DESCRIPTION

# TDD - "What, why and how" # What? TDD - Test Driven Development Test-first programming XP (eXtreme Programming), Agile Methodologies Mantra: Red, Green, Refactor - Red: escrita do primeiro teste antes mesmo da lógica existir. - Green: é o ponto em que a lógica para que o teste previamente criado passe. Esta lógica deve ser desenvolvida da forma mais simples possível eliminando complexidades desnecessárias fazendo com que a evolução do código ocorra de forma segura. - Refactor: é a melhoria do código. Neste ponto são removidas duplicações, múltiplas responsabilidades e o código fica cada vez mais próximo de sua versão final. # Why? Design: objetos concisos e com menos dependências. Fácil de dar manutenção e fácil de evoluir. Feedback rápido e contínuo: com os "baby-steps" temos um rápido feedback do que estamos implementando, o que nos auxilia a manter o foco no que é realmente necessário e importante; e nos auxiliar a enxergar se estamos cumprindo com o esperado. Segurança: temos mais confiança de que o código alterado ou a nova funcionalidade implementada não quebra outra existente. E quando isso ocorre identificamos onde isso ocorreu e corrigimos antes de colocarmos o erro em produção. [veja o custo de um defeito] Raciocínio: mudança na forma de pensar. Nós forçamos nosso raciocínio a níveis elevados pra gerarmos código com um design melhor. Documentação: testes descritivos descrevem melhor o funcionamento do software do que a documentação tradicional, já que a documentação tradicional geralmente está defasada ao código, ao contrário dessa abordagem onde a documentação é escrita antes do código. Qualidade: como consequência um número menor de defeitos em produção. Remoção dos "bad-smells". # How? Tipos de Teste Unidade, Integração, Funcional e Sistema Unit Tests Classic and Mockist styles Como começar? Coding Dojo: um lugar como os dojos de artes marciais, onde podemos praticar e aprender. Referências http://vimeo.com/104311361 http://www.infoq.com/br/presentations/tdd-clean-code-dev-saudavel http://blog.andredias.net/o-custo-de-um-bug/ http://www.prweb.com/releases/2013/1/prweb10298185.htm http://www.extremeprogramming.org/rules/testfirst.html https://sites.google.com/site/unclebobconsultingllc/ http://www.infoq.com/br/news/2010/09/paradigma-tdd http://desenvolvimentoagil.com.br/xp/praticas/tdd/ http://tableless.com.br/tdd-por-que-usar/ http://blog.thiagobelem.net/aprendendo-tdd-ou-desenvolvimento-orientado-a-testes/ http://martinfowler.com/bliki/UnitTest.html http://www.infoq.com/br/presentations/dnad-mauricio-aniche http://www.infoq.com/br/presentations/refatorar-codigo http://martinfowler.com/articles/mocksArentStubs.html http://blog.caelum.com.br/mais-uma-vez-tdd-nao-e-bala-de-prata/ http://blog.caelum.com.br/tag/tdd/ http://apoie.org/Dojo.html http://www.colourlovers.com/web/trends/websites/7818/Brooklyn_Beta

Citation preview

Page 1: TDD - What, Why, How

TDD What, Why, How

Page 2: TDD - What, Why, How
Page 3: TDD - What, Why, How
Page 4: TDD - What, Why, How

test first programming

Page 5: TDD - What, Why, How

XP agile methodology

Page 6: TDD - What, Why, How

Mantra

Page 7: TDD - What, Why, How

RED

teste antes mesmo da lógica existir

Page 8: TDD - What, Why, How

GREEN

lógica pra que o teste passe

Page 9: TDD - What, Why, How

REFACTOR

melhoria do código

Page 10: TDD - What, Why, How
Page 11: TDD - What, Why, How

design um

melhor

Page 12: TDD - What, Why, How

feedback rápido e contínuo

Page 13: TDD - What, Why, How

segurança no código criado

sentimos mais

Page 14: TDD - What, Why, How

raciocínio a níveis elevados de abstração

forçamos nosso

Page 15: TDD - What, Why, How

documentação do que é desenvolvido

geramos

Page 16: TDD - What, Why, How

qualidade do que produzimos

aumentamos a

Page 17: TDD - What, Why, How
Page 18: TDD - What, Why, How

tipos de teste

Page 19: TDD - What, Why, How

unidade integração funcional sistema

Page 20: TDD - What, Why, How

unit tests no nosso caso

Page 21: TDD - What, Why, How
Page 22: TDD - What, Why, How

Classic

Mockist

style

style

Page 23: TDD - What, Why, How
Page 24: TDD - What, Why, How
Page 25: TDD - What, Why, How

Muito obrigado !