pensando tdd

Download Pensando TDD

Post on 01-Dec-2014

175 views

Category:

Software

1 download

Embed Size (px)

DESCRIPTION

Uma reflexão sobre desenvolvimento de software, qualidade e como o TDD pode nos ajudar a melhorar em tudo isso. A versão em PPT, que possui comentários adicionais para cada Slide, pode ser baixada no Google Drive: https://drive.google.com/folderview?id=0B4k-4pdeaM58SEpYcHZSbFdoS0E&usp=sharing Para maiores informações sobre a palaestra, acesse: http://luizricardo.org/2014/10/pensando-tdd/ ‎

TRANSCRIPT

  • 1. PensandoTDD08/10/2014

2. Direitos AutoraisVoc est autorizado e incentivado a distribuir este material.Copie, compartilhe e modifique, apenas cite a fonte. 3. AutoriaLuiz Ricardoluizricardo.orgfacebook.com/StateOfTheArtBlog 4. Cdigo-fonteO cdigo dos exemplos prticos pode ser obtido no link:https://github.com/utluiz/tdd-example 5. Porque software? 6. $$$??? 7. Software de QualidadeFaz o que deveria fazerSEM ERROS 8. Software de QualidadeFunciona 9. Dificuldades do SoftwareAbstratoSem representao visvelDificuldade em identificar requisitos 10. Dificuldades do SoftwareSingularCada um diferente 11. Dificuldades do SoftwareMutvel1 bit muda tudo 12. Dificuldades do SoftwareComplexoSimplificaoPerda de informao 13. Expectativa Realidade 14. Como fazer softwarede qualidade? 15. Teste TesteTesteTesteTeste 16. TDDTest-Driven DevelopmentMetodologia gil dedesenvolvimento de softwarecujo objetivo gerarcdigo limpo que funciona 17. Fases do DesenvolvimentoTradicionalProjetoImplementaoTeste 18. Mudanas acontecem... 19. Correo de BugsCusto por faseDesign Implementao Teste Manuteno 20. Fases do DesenvolvimentoTDDProjeto/TesteImplementao 21. Definio de ProntoQuando terminamos uma novafuncionalidade? 22. Definio de ProntoCdigo 23. Definio de ProntoCdigo limpo 24. Definio de ProntoCdigo limpoTestado 25. Definio de ProntoCdigo limpoTeste automatizado 26. Definio de ProntoCdigo limpoTeste automatizadoDeploy automatizado 27. Definio de ProntoCdigo limpoTeste automatizadoDeploy automatizadoDocumentado 28. Ciclo de Vida do TDDVermelhoRefatore Verde 29. Ciclo de Vida do TDDO MantraVermelho, verde, refatoreVermelho, verde, refatoreVermelho, verde, refatoreVermelho, verde, refatore... 30. Ciclo de Vida do TDDVermelho1. Escreva umteste que falheRefatore Verde 31. Ciclo de Vida do TDDVermelho1. Escreva umteste que falheRefatore Verde2. Faafuncionar 32. Ciclo de Vida do TDDVermelho1. Escreva umteste que falheRefatore Verde2. Faafuncionar3. Faa direito 33. Ciclo de Vida do TDDPor que separar?Faa direito Faa funcionarRefatore Verde 34. Ciclo de Vida do TDD 35. Valores do TDD Foco na qualidade Cdigo documentado Sem medo de mudanas 36. S mais uma coisa... 37. Dificuldades do TDD Qualidade tem custo Indefinio Design ruim 38. Desenvolvimento de SoftwareMetforas 39. Desenvolvimento de SoftwareAmador ou Arteso? 40. Princpios de Design OOS.O.L.I.D.Single Responsibility PrincipleOpen/close principleLiskov substitution principleInterface segregation principleDependency inversion principle 41. Testando... 1, 2, 3Testes unitriosTesta uma poro individual docdigo, como uma funo,mtodo ou classe. 42. Testando... 1, 2, 3AsseresVerificaes depr e ps-condies do teste 43. Testando... 1, 2, 3Objetos MockObjetos usados em testes quesimulam o funcionamento deum objeto real 44. Testando... 1, 2, 3Tipos de testeIntegraoCargaEstresseDesempenhoResilinciaAceitaoCoberturaRegresso 45. FerramentasPlataforma Java Teste unitrioJUnit, TestNG Teste de integrao (web)Selenium/Web Driver, HtmlUnit, UFT/QTP MocksMockito, JMock, PowerMock, EasyMock 46. Ferramentas Teste de coberturaEclEmmaPlataforma Java 47. PrticaDemonstrao Testes unitrios Calculadora com JUnit Teste web Pesquisa no Google com WebDriver (Internet) Navegao entre duas pginas 48. ConclusesTest-Driven Development No uma soluo mgica TDD no sobre TDD TDD um exerccio dirio TDD disciplina 49. Pratique! 50. Perguntas?No tenha medo...