Slide 1

Slide 1 text

www.sgcampus.com.mx   @sgcampus www.sgcampus.com.mx   @sgcampus Las Pruebas Primero Javier Cervantes @solojavier Software Craftsman @hybrid_group

Slide 2

Slide 2 text

www.sgcampus.com.mx   @sgcampus ¿De que trata esta charla?

Slide 3

Slide 3 text

www.sgcampus.com.mx   @sgcampus ¿De que trata esta charla? •  Explicar a grandes razgos que es TDD

Slide 4

Slide 4 text

www.sgcampus.com.mx   @sgcampus ¿De que trata esta charla? •  Explicar a grandes razgos que es TDD •  Ver los beneficios de utilizar esta técnica

Slide 5

Slide 5 text

www.sgcampus.com.mx   @sgcampus ¿De que trata esta charla? •  Explicar a grandes razgos que es TDD •  Ver los beneficios de utilizar esta técnica •  Entender que se requiere para lograrlo.

Slide 6

Slide 6 text

www.sgcampus.com.mx   @sgcampus ¿De que trata esta charla? •  Explicar a grandes razgos que es TDD •  Ver los beneficios de utilizar esta técnica •  Entender que se requiere para lograrlo. •  Como empezar y que herramientas útiles

Slide 7

Slide 7 text

www.sgcampus.com.mx   @sgcampus ¿De que trata esta charla? •  Explicar a grandes razgos que es TDD •  Ver los beneficios de utilizar esta técnica •  Entender que se requiere para lograrlo. •  Como empezar y que herramientas útiles •  Compartir experiencias en proyectos reales

Slide 8

Slide 8 text

www.sgcampus.com.mx   @sgcampus De que NO trata

Slide 9

Slide 9 text

www.sgcampus.com.mx   @sgcampus De que NO trata •  Explicar la una única manera de hacer las cosas

Slide 10

Slide 10 text

www.sgcampus.com.mx   @sgcampus De que NO trata •  Explicar la una única manera de hacer las cosas •  Encontrar una formula mágica que cura todo

Slide 11

Slide 11 text

www.sgcampus.com.mx   @sgcampus De que NO trata •  Explicar la una única manera de hacer las cosas •  Encontrar una formula mágica que cura todo •  Cómo escribir mejores pruebas

Slide 12

Slide 12 text

www.sgcampus.com.mx   @sgcampus Encuesta

Slide 13

Slide 13 text

www.sgcampus.com.mx   @sgcampus Que es TDD? Robert C. Martin, lo describe con tres reglas:

Slide 14

Slide 14 text

www.sgcampus.com.mx   @sgcampus Que es TDD? Robert C. Martin, lo describe con tres reglas: 1.  No está permitido escribir ningún código de producción sin tener una prueba que falle.

Slide 15

Slide 15 text

www.sgcampus.com.mx   @sgcampus Que es TDD? Robert C. Martin, lo describe con tres reglas: 1.  No está permitido escribir ningún código de producción sin tener una prueba que falle. 2.  No está permitido escribir más código de prueba que el necesario para hacer fallar una prueba unitaria (y no compilar es fallar).

Slide 16

Slide 16 text

www.sgcampus.com.mx   @sgcampus Que es TDD? Robert C. Martin, lo describe con tres reglas: 1.  No está permitido escribir ningún código de producción sin tener una prueba que falle. 2.  No está permitido escribir más código de prueba que el necesario para hacer fallar una prueba unitaria (y no compilar es fallar). 3.  No está permitido escribir más código de producción que el necesario para hacer pasar su prueba unitaria.

Slide 17

Slide 17 text

www.sgcampus.com.mx   @sgcampus Beneficios

Slide 18

Slide 18 text

www.sgcampus.com.mx   @sgcampus Beneficios •  Te ayudan a saber que estas haciendo

Slide 19

Slide 19 text

www.sgcampus.com.mx   @sgcampus Beneficios •  Te ayudan a saber que estas haciendo •  Mejorar el diseño de tu código

Slide 20

Slide 20 text

www.sgcampus.com.mx   @sgcampus Beneficios •  Te ayudan a saber que estas haciendo •  Mejorar el diseño de tu código •  Incrementar la confiabilidad de tus pruebas

Slide 21

Slide 21 text

www.sgcampus.com.mx   @sgcampus Mejorar el diseño del código

Slide 22

Slide 22 text

www.sgcampus.com.mx   @sgcampus Mejorar el diseño del código •  Te provee la más rapida retroalimentacion sobre el diseño de tu código

Slide 23

Slide 23 text

www.sgcampus.com.mx   @sgcampus Mejorar el diseño del código •  Te provee la más rapida retroalimentacion sobre el diseño de tu código •  Cada linea de codigo tiene una razón de ser

Slide 24

Slide 24 text

www.sgcampus.com.mx   @sgcampus Mejorar el diseño del código •  Te provee la más rapida retroalimentacion sobre el diseño de tu código •  Cada linea de codigo tiene una razón de ser •  Ayuda a reducir el acoplamiento

Slide 25

Slide 25 text

www.sgcampus.com.mx   @sgcampus Confiabilidad de pruebas

Slide 26

Slide 26 text

www.sgcampus.com.mx   @sgcampus Confiabilidad de pruebas •  Puedes cambiar tu codigo sin miedo a que algo se "rompa”

Slide 27

Slide 27 text

www.sgcampus.com.mx   @sgcampus Confiabilidad de pruebas •  Puedes cambiar tu codigo sin miedo a que algo se "rompa” •  Tus pruebas son la mejor manera de debugear

Slide 28

Slide 28 text

www.sgcampus.com.mx   @sgcampus Confiabilidad de pruebas •  Puedes cambiar tu codigo sin miedo a que algo se "rompa” •  Tus pruebas son la mejor manera de debugear •  La confianza se traduce en menos sorpresas

Slide 29

Slide 29 text

www.sgcampus.com.mx   @sgcampus Que se requiere

Slide 30

Slide 30 text

www.sgcampus.com.mx   @sgcampus Que se requiere •  Conocimientos de diseño de software y OO

Slide 31

Slide 31 text

www.sgcampus.com.mx   @sgcampus Que se requiere •  Conocimientos de diseño de software y OO •  Saber como escribir buenas pruebas

Slide 32

Slide 32 text

www.sgcampus.com.mx   @sgcampus Que se requiere •  Conocimientos de diseño de software y OO •  Saber como escribir buenas pruebas •  Cambiar de velocidad/altura según contexto

Slide 33

Slide 33 text

www.sgcampus.com.mx   @sgcampus Que se requiere •  Conocimientos de diseño de software y OO •  Saber como escribir buenas pruebas •  Cambiar de velocidad/altura según contexto •  Disciplina y paciencia

Slide 34

Slide 34 text

www.sgcampus.com.mx   @sgcampus Como lo puedes hacer?

Slide 35

Slide 35 text

www.sgcampus.com.mx   @sgcampus Como lo puedes hacer? •  Practicando!

Slide 36

Slide 36 text

www.sgcampus.com.mx   @sgcampus Como lo puedes hacer? •  Practicando! •  Empieza de afuera hacia adentro

Slide 37

Slide 37 text

www.sgcampus.com.mx   @sgcampus Como lo puedes hacer? •  Practicando! •  Empieza de afuera hacia adentro •  Sigue las reglas y no olvides el 3er paso

Slide 38

Slide 38 text

www.sgcampus.com.mx   @sgcampus Como lo puedes hacer? •  Practicando! •  Empieza de afuera hacia adentro •  Sigue las reglas y no olvides el 3er paso •  Prueba con un componente o clase

Slide 39

Slide 39 text

www.sgcampus.com.mx   @sgcampus DEMO

Slide 40

Slide 40 text

www.sgcampus.com.mx   @sgcampus Herramientas •  Zeus •  Rspec •  travis.ci •  tddium.com •  codeclimate.com

Slide 41

Slide 41 text

www.sgcampus.com.mx   @sgcampus Recursos

Slide 42

Slide 42 text

www.sgcampus.com.mx   @sgcampus Recursos •  Test Driven Development (by Example) http://www.amazon.es/Test-Driven-Development-By-Example/dp/0321146530

Slide 43

Slide 43 text

www.sgcampus.com.mx   @sgcampus Recursos •  Test Driven Development (by Example) http://www.amazon.es/Test-Driven-Development-By-Example/dp/0321146530 •  Practical Object Oriented Programming Design in Ruby http://www.poodr.com/

Slide 44

Slide 44 text

www.sgcampus.com.mx   @sgcampus Recursos •  Test Driven Development (by Example) http://www.amazon.es/Test-Driven-Development-By-Example/dp/0321146530 •  Practical Object Oriented Programming Design in Ruby http://www.poodr.com/ •  Clean Coders •  http://cleancoders.com/

Slide 45

Slide 45 text

www.sgcampus.com.mx   @sgcampus Preguntas

Slide 46

Slide 46 text

www.sgcampus.com.mx   @sgcampus Gracias!