breve introducción a tdd con phpunit

Download Breve introducción a TDD con Phpunit

If you can't read please download the document

Upload: moisesgallego

Post on 13-Jun-2015

665 views

Category:

Education


3 download

TRANSCRIPT

  • 1. Breve introduccin a

2. Gracias!12/11/12Breve introduccin a PHPUnit 2 / 81 3. Sobre mi Moiss Gallego Programador en Bodaclick Miembro de Symfony-Madrid Twitter: @moisesgallego Blogs: moidev.com / fotux.es12/11/12Breve introduccin a PHPUnit 3 / 81 4. Sobre qu trata lacharla?12/11/12 Breve introduccin a PHPUnit 4 / 81 5. Sobre qu trata la charla?Conceptos bsicos de Testing12/11/12Breve introduccin a PHPUnit 5 / 81 6. Sobre qu trata la charla?Conceptos bsicos de TestingConceptos bsicos sobre TDD12/11/12Breve introduccin a PHPUnit 6 /1 8 7. Sobre qu trata la charla?Conceptos bsicos de TestingConceptos bsicos sobre TDDFuncionalidades de PHPUnit12/11/12Breve introduccin a PHPUnit 7 / 81 8. Sobre qu trata la charla?Conceptos bsicos de TestingConceptos bsicos sobre TDDFuncionalidades de PHPUnitEjemplos12/11/12Breve introduccin a PHPUnit 8 / 81 9. Sobre qu NO trata la charla?12/11/12Breve introduccin a PHPUnit 10 / 81 10. Sobre qu NO trata la charla? Venderos la moto12/11/12 Breve introduccin a PHPUnit 11 / 81 11. Sobre qu NO trata la charla?12/11/12 Breve introduccin a PHPUnit 12 / 81 12. Sobre qu NO trata la charla? Evangelizar12/11/12 Breve introduccin a PHPUnit 13 / 81 13. Sobre qu NO trata la charla?12/11/12 Breve introduccin a PHPUnit 14 / 81 14. Testing12/11/12Breve introduccin a PHPUnit 15 / 81 15. Even good programmers makemistakes. The difference between a good programmer anda bad programmer is that thegood programmer uses tests to detect his mistakes as soon aspossible. PHPUnit manual12/11/12Breve introduccin a PHPUnit 16 / 81 16. Qu es el testing? Simplemente pruebas12/11/12Breve introduccin a PHPUnit 17 / 81 17. Qu es el testing?a s tictom Au12/11/12Breve introduccin a PHPUnit 18 / 81 18. Qu es el testing?a s Ma ticn uatomles Au12/11/12Breve introduccin a PHPUnit19 / 81 19. Qu es el testing?a s Ma ticn uatomles AuFuncionales12/11/12Breve introduccin a PHPUnit20 / 81 20. Qu es el testing?a sMa tic nuatom les AuFuncionalesRegresin12/11/12Breve introduccin a PHPUnit 21 / 81 21. Qu es el testing?a s Ma ticn uatomles Aug ra c i n InteFuncionales Regresin12/11/12Breve introduccin a PHPUnit22 / 81 22. Qu es el testing?a s Ma ticn uatomles Au Cargag ra c i n InteFuncionales Regresin12/11/12Breve introduccin a PHPUnit23 / 81 23. Qu es el testing?a s Ma tic ETCn uatomles Au Cargag ra c i n InteFuncionales Regresin12/11/12Breve introduccin a PHPUnit24 / 81 24. Qu es el testing?a s Ma tic ETCn uatomles Au CargaUnitariasc i n Inte g raFuncionales Regresin12/11/12Breve introduccin a PHPUnit25 / 81 25. Qu son las pruebasunitarias?12/11/12 Breve introduccin a PHPUnit 26 / 81 26. Una prueba unitaria es una forma de probar el correcto funcionamiento de un mdulo de cdigo. Esto sirve para asegurar que cada uno de los mdulosfuncione correctamente porseparadoWikipedia12/11/12 Breve introduccin a PHPUnit 27/ 81 27. Caractristicas de los tests unitarios Automatizables Completos Repetibles || Reutilizables Independientes12/11/12 Breve introduccin a PHPUnit 28 / 81 28. Ok. Eso es testing. TDD no es lo mismo?12/11/12Breve introduccin a PHPUnit 29 / 81 29. No!12/11/12 Breve introduccin a PHPUnit 30 / 81 30. Testing Diseo DiseoImplementacin ImplementacinTestTest12/11/12 Breve introduccin a PHPUnit31 / 81 31. TDD Diseo DiseoTestTest ImplementacinImplementacin12/11/12Breve introduccin a PHPUnit 32 / 81 32. Desarrollo guiado por pruebas, oTest-driven development (TDD) es una prctica de programacin que involucra otras dos prcticas: Escribir las pruebas primero (Test First Development) yRefactorizacin (Refactoring)...12/11/12 Breve introduccin a PHPUnit 33 / 81 33. ...El propsito del desarrollo guiado por pruebas es lograr uncdigo limpio que funcione...12/11/12Breve introduccin a PHPUnit 34 / 81 34. ...La idea es que los requisitos sean traducidos a pruebas... se garantizar el software cumple con losrequisitos que se hanestablecido12/11/12Breve introduccin a PHPUnit 35 / 81 35. Bendita Wikipedia12/11/12 Breve introduccin a PHPUnit 36 / 81 36. El mantra del desarrollo TDD12/11/12Breve introduccin a PHPUnit 37 / 81 37. Hasta aqu la teorasobre testing.12/11/12 Breve introduccin a PHPUnit 38 / 81 38. Qu es PHPUnit?12/11/12Breve introduccin a PHPUnit 39 / 81 39. Software para crear y ejecutar testde manera automtica12/11/12 Breve introduccin a PHPUnit 40 / 81 40. Test manual sin PHPUnit12/11/12 Breve introduccin a PHPUnit 41 / 81 41. Que ventajasnos da PHPUnit?12/11/12 Breve introduccin a PHPUnit 42 / 81 42. Aserciones- Assertions12/11/12 Breve introduccin a PHPUnit 43 / 81 43. Veamos algunos ejemplos sencillos de aserciones12/11/12Breve introduccin a PHPUnit 44 / 81 44. assertFalse12/11/12 Breve introduccin a PHPUnit 45 / 81 45. assertFalse12/11/12 Breve introduccin a PHPUnit 46 / 81 46. assertNull12/11/12 Breve introduccin a PHPUnit 47 / 81 47. assertContains12/11/12 Breve introduccin a PHPUnit 48 / 81 48. assertEquals12/11/12Breve introduccin a PHPUnit 49 / 81 49. 40 posibles aserciones sin incluir sus negaciones12/11/12Breve introduccin a PHPUnit 50 / 81 50. Qu mas testean las aserciones?Cadenas de textoExcepcionesFicherosArraysObjetos && ClasesJSON && XML...12/11/12 Breve introduccin a PHPUnit 51 / 81 51. Anotaciones12/11/12Breve introduccin a PHPUnit 52 / 81 52. Test doubles12/11/12Breve introduccin a PHPUnit 53 / 81 53. Tests doubles Mocks && Stubs12/11/12Breve introduccin a PHPUnit 54 / 81 54. - Los Stubs proporcionan respuestas predefinidas a ciertas llamadas durante los tests, sin responder a cualquier otra cosa para la que no hayan sido programados. - Los Mocks son objetos preprogramados con expectativas que conforman la especificacin de lo que se espera que reciban las llamadas.12/11/12Breve introduccin a PHPUnit 55 / 81 55. Esta charla es introductoria12/11/12 Breve introduccin a PHPUnit 56 / 81 56. Esta charla es introductoriaNo filosfica12/11/12 Breve introduccin a PHPUnit 57 / 81 57. Cuando necesitamostestear algo que depende de un objetoajeno al test que vamos a realizar...12/11/12Breve introduccin a PHPUnit 58 / 81 58. ...ese objeto no debe crearse realmente, ya que rompera elprincipio unitario...12/11/12 Breve introduccin a PHPUnit 59 / 81 59. ...para eso creamos objetos falsos que se comportan comodeberan los reales...12/11/12 Breve introduccin a PHPUnit 60 / 81 60. ...Ese es el cometido de los mocks y los stubs12/11/12 Breve introduccin a PHPUnit 61 / 81 61. ...Ese es el cometido de los mocks y los stubsYo mismo con mis propias palabras12/11/12 Breve introduccin a PHPUnit 62/ 81 62. A ver si con un ejemplo locomprendemos mejor12/11/12Breve introduccin a PHPUnit 63 / 81 63. Test doubles12/11/12Breve introduccin a PHPUnit 64 / 81 64. Cobertura de cdigo- Code coverage12/11/12 Breve introduccin a PHPUnit 65 / 81 65. Nos muestra cuanto y qu cdigo est cubierto por nuestros tests. Muy til para ver cdigodeprecated y posibles bugs.12/11/12Breve introduccin a PHPUnit 66 / 81 66. Code Coverage12/11/12 Breve introduccin a PHPUnit 67 / 81 67. Offtopic KATA12/11/12 Breve introduccin a PHPUnit 68 / 81 68. Offtopic KATA12/11/12 Breve introduccin a PHPUnit 69 / 81 69. "Talk is cheap. Show me the code."- Linus Torvalds12/11/12Breve introduccin a PHPUnit 71 / 81 70. Conclusin12/11/12 Breve introduccin a PHPUnit 72 / 81 71. El testing mola12/11/12Breve introduccin a PHPUnit 73 / 81 72. No hay que ser cuadriculados12/11/12 Breve introduccin a PHPUnit 74 / 81 73. TDD a veces noes la opcin correcta paratodo proyecto.12/11/12Breve introduccin a PHPUnit 75 / 81 74. Requiere tiempo12/11/12Breve introduccin a PHPUnit 76 / 81 75. Y sobre todo12/11/12Breve introduccin a PHPUnit 77 / 81 76. Mucha disciplina12/11/12 Breve introduccin a PHPUnit 78 / 81 77. GRACIAS! Estos aplausos son para vosotros, por aguantar sin dormir12/11/12Breve introduccin a PHPUnit 79 / 81 78. Alguna pregunta? (y que sea sencilla)12/11/12 Breve introduccin a PHPUnit 80 / 81 79. Donde encontrar el cdigo?Mi github https://github.com/mgallegoSlideshare http://www.slideshare.net/moisesgallego12/11/12Breve introduccin a PHPUnit 81 / 81