SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
My Journey Through
Carmen Diaz Echauri
cdechauri@gmail.com
@cucurucho
Who I am? / Quien Soy?
CARMEN
" Wow, I'm really nervous. “
I am humbled by the number of people, the energy and
brilliant ideas that are going to be coming out South America
over the next few years. I'm humbled by the fact that even
though I am here to share some of my experience, that I
could never come close to the experience and collective
brilliance that is in this room and conference today.
And I'm in awe of how far our community of developers have
come. So before I begin I want to thank you for being here
and I'm honored to have this opportunity.
Culture / Cultura
Seymour Papert
Es la Cultura, no la Tecnología, la que trae
el Cambio.
Agil Practices /
Practicas Ágiles
Ciertas prácticas utilizadas en ciertas metodologías ágiles que
implican código de calidad son:
programación en parejas, pruebas unitarias, desarrollo de la historias
conducidas, pruebas de aceptación, la comunicación con el cliente y
refactorización constante…. Y MAS! AGIL IS COOL
Hardware adecuado
Equipos reducidos
Practica 100 % ? ? ? ehhh
Diferentes proyectos & tecnologias
First Steps / Primeros pasos
⇒ Understanding other’s code/ Entender el
código de otros.
Ensalada de codigo
First Steps / Primeros pasos
⇒ Understanding other’s code/ Entender el
código de otros.
⇒ Code review/ Revisiones de código
⇒ Pair Programing/ Programación en pares.
Test First / Pruebas Primero
Cuantas veces han escrito pruebas como?
Test First / Pruebas Primero
Dia 1
Controladores
 probando la vista
Todo se resume en el
comportamiento
Las primeras frases a las que fui expuesta fueron:
  You should wait a few months before starting work
Y mi Favorita:
  You should wear glasses, jeans and t-shirt to look like a
programmer.
  You must stay at home and wait until your English gets better.
Tiempo / Timing
independencia en ciertas situaciones
comportamiento esperado
contexto controlado
Sintaxis
  Escribir pruebas sin necesidad de tener un dominio absoluto
del Ingles.
 miObjeto.should == ‘algo’
miObjeto debe ser igual a ‘algo’
 miObjeto.should do ‘algo’
miObjeto debe hacer ‘algo’
Simple lectura ….
  no es necesario entender la sintaxis RSpec para poder utilizar
Rspec
  Rspec es fácil de leer y entender (aun con un ingles básico)
  definición de requisitos de alto nivel de manera concisa y
rápida
  Rspec proporciona una separación de las pruebas de otros
elementos existentes en un MVC.
Testing en Capas
* Grafico preparado por RubyFocus http://www.rubyfocus.biz
Expectaciones
Existen dos métodos para chequear expectaciones:
should() & should_not().
should respond_to()
should be_nil -> funciona ademas con ? Metodo predicar
Should be_valid
Should not be_nil, should_not be_valid
should eql, == -> compara valores
Should equal, === ->compara objetos
Y MAS ……..
Y matchers……
Predicate Matcher
En Ruby un método predicate es un método que termina
en “?”y retorna una expresión booleana.
mystring.empty?.should == true
mystring.should be_empty
Las expectaciones van escritas dentro de la “cosa Descripta” y
en un contexto definido
Estructura
before
Mi súper diccionario 
  Context: Contexto descripto
  Describe: Describir “algo”
  It <comportamiento> : comportamiento esperado de la cosa
descripta
  Should: deberia
  Should not: no deberia
Así que una razón para usar Rspec es su Claridad
La clave esta conocer las palabras “mágicas” que describan el
comportamiento deseado en pocos pasos.
Prueba escrita por un niño
Test First Teaching al REVES ;-)
Algunos Tips
Variables de Instancias & Let
Tips
Tips
Let
  Te muestra quienes son los jugadores o involucrados.
  Retorna una evaluacion ‘lazy’
  Descarta el before block.
Tips
Subject & it
Sujeto implicito
Tips
Subject & it
Sujeto implicito
Tips
Subject & it
Definir el subjeto
Tips
Its => Posesivo…
Tips
Simple output -Simple lectura
Tips
Changes
Tips
Expect
Util para expectaciones de ActiveRecords!
Tips
Shoulda
versus
Tips
Shoulda
Rspec generara una clara descripción
Requiere gem shoulda
validate_format_of, validate_presence_of, ……
Tips
Again! 
  Context: Contexto descripto
  Describe: Describir “algo”
  It <comportamiento> : comportamiento esperado de la cosa
descripta
  Should: deberia
  Should not: no deberia
La clave esta conocer las palabras “mágicas” que describan el
comportamiento deseado en pocos pasos.
  Hoy en Dia. El Código se lee mas de lo que se escribe
Gracias! - Thanks
Cool People: YOU
A huge thanks goes out to:
My mentors & work team
& for helping out with challenges and site coding!
Inspirada por

Weitere ähnliche Inhalte

Ähnlich wie My journey through Rspec

Introduccion al desarrollo guiado por comportamiento
Introduccion al desarrollo guiado por comportamientoIntroduccion al desarrollo guiado por comportamiento
Introduccion al desarrollo guiado por comportamientoAlejandro Hernández
 
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...Chistian Hernandez
 
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...Tania Tellez
 
Incepción ágil at infosoft
Incepción ágil at infosoftIncepción ágil at infosoft
Incepción ágil at infosoftHiroshi Hiromoto
 
Cas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocioCas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocioEduardo Riol
 
Meetup TestingUY 2016 - What you meant to say de Michael Bolton
Meetup TestingUY 2016 - What you meant to say de Michael BoltonMeetup TestingUY 2016 - What you meant to say de Michael Bolton
Meetup TestingUY 2016 - What you meant to say de Michael BoltonTestingUy
 
Lo que querías decir - Lisandra Armas y Gabriela Sánchez
Lo que querías decir - Lisandra Armas y Gabriela SánchezLo que querías decir - Lisandra Armas y Gabriela Sánchez
Lo que querías decir - Lisandra Armas y Gabriela SánchezGabyeke
 
Clase 1 - ¿Qué es el Testing.pptx
Clase 1 - ¿Qué es el Testing.pptxClase 1 - ¿Qué es el Testing.pptx
Clase 1 - ¿Qué es el Testing.pptxChristian Costa
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Alfredo Chavez
 
Sesion de aprendizaje scrach diplomado 2018 modulo iii
Sesion de aprendizaje scrach diplomado 2018 modulo iiiSesion de aprendizaje scrach diplomado 2018 modulo iii
Sesion de aprendizaje scrach diplomado 2018 modulo iiiJacquelineMinchn
 
Instrumentos evaluacion m3 s2 soporte a distancia 2do parcial
Instrumentos evaluacion m3 s2 soporte a distancia 2do parcialInstrumentos evaluacion m3 s2 soporte a distancia 2do parcial
Instrumentos evaluacion m3 s2 soporte a distancia 2do parcialSergio Sainz Marrón
 
Terminado ingles para negocios i
Terminado  ingles para negocios iTerminado  ingles para negocios i
Terminado ingles para negocios iyony20
 
Escenarios y Storyboards en el proceso UCD con Roberto Hernández (Sr UX/UI De...
Escenarios y Storyboards en el proceso UCD con Roberto Hernández (Sr UX/UI De...Escenarios y Storyboards en el proceso UCD con Roberto Hernández (Sr UX/UI De...
Escenarios y Storyboards en el proceso UCD con Roberto Hernández (Sr UX/UI De...Omar Corona
 

Ähnlich wie My journey through Rspec (20)

Introduccion al desarrollo guiado por comportamiento
Introduccion al desarrollo guiado por comportamientoIntroduccion al desarrollo guiado por comportamiento
Introduccion al desarrollo guiado por comportamiento
 
Herramientas para Enfrentas Nuevos Retos.
Herramientas para Enfrentas Nuevos Retos.Herramientas para Enfrentas Nuevos Retos.
Herramientas para Enfrentas Nuevos Retos.
 
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
 
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
Prueba Corta: Video -Vida Real-Definicion de objetos, estado, comportamiento ...
 
Pres2
Pres2Pres2
Pres2
 
Incepción ágil at infosoft
Incepción ágil at infosoftIncepción ágil at infosoft
Incepción ágil at infosoft
 
Cas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocioCas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocio
 
Meetup TestingUY 2016 - What you meant to say de Michael Bolton
Meetup TestingUY 2016 - What you meant to say de Michael BoltonMeetup TestingUY 2016 - What you meant to say de Michael Bolton
Meetup TestingUY 2016 - What you meant to say de Michael Bolton
 
Lo que querías decir - Lisandra Armas y Gabriela Sánchez
Lo que querías decir - Lisandra Armas y Gabriela SánchezLo que querías decir - Lisandra Armas y Gabriela Sánchez
Lo que querías decir - Lisandra Armas y Gabriela Sánchez
 
Clase 1 - ¿Qué es el Testing.pptx
Clase 1 - ¿Qué es el Testing.pptxClase 1 - ¿Qué es el Testing.pptx
Clase 1 - ¿Qué es el Testing.pptx
 
2 IA en educación - Aprendizaje y Enseñanza
2 IA en educación - Aprendizaje y Enseñanza2 IA en educación - Aprendizaje y Enseñanza
2 IA en educación - Aprendizaje y Enseñanza
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
Integración de Equipos de Trabajo
Integración de Equipos de TrabajoIntegración de Equipos de Trabajo
Integración de Equipos de Trabajo
 
Sesion de aprendizaje scrach diplomado 2018 modulo iii
Sesion de aprendizaje scrach diplomado 2018 modulo iiiSesion de aprendizaje scrach diplomado 2018 modulo iii
Sesion de aprendizaje scrach diplomado 2018 modulo iii
 
Instrumentos evaluacion m3 s2 soporte a distancia 2do parcial
Instrumentos evaluacion m3 s2 soporte a distancia 2do parcialInstrumentos evaluacion m3 s2 soporte a distancia 2do parcial
Instrumentos evaluacion m3 s2 soporte a distancia 2do parcial
 
Terminado ingles para negocios i
Terminado  ingles para negocios iTerminado  ingles para negocios i
Terminado ingles para negocios i
 
Escenarios y Storyboards en el proceso UCD con Roberto Hernández (Sr UX/UI De...
Escenarios y Storyboards en el proceso UCD con Roberto Hernández (Sr UX/UI De...Escenarios y Storyboards en el proceso UCD con Roberto Hernández (Sr UX/UI De...
Escenarios y Storyboards en el proceso UCD con Roberto Hernández (Sr UX/UI De...
 
Introducion a POO
Introducion a POOIntroducion a POO
Introducion a POO
 
Prog orientadaobjetos
Prog orientadaobjetosProg orientadaobjetos
Prog orientadaobjetos
 
Prog orientadaobjetos
Prog orientadaobjetosProg orientadaobjetos
Prog orientadaobjetos
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Kürzlich hochgeladen (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

My journey through Rspec

  • 1. My Journey Through Carmen Diaz Echauri cdechauri@gmail.com @cucurucho
  • 2. Who I am? / Quien Soy? CARMEN
  • 3. " Wow, I'm really nervous. “
  • 4. I am humbled by the number of people, the energy and brilliant ideas that are going to be coming out South America over the next few years. I'm humbled by the fact that even though I am here to share some of my experience, that I could never come close to the experience and collective brilliance that is in this room and conference today. And I'm in awe of how far our community of developers have come. So before I begin I want to thank you for being here and I'm honored to have this opportunity.
  • 5. Culture / Cultura Seymour Papert Es la Cultura, no la Tecnología, la que trae el Cambio.
  • 6. Agil Practices / Practicas Ágiles Ciertas prácticas utilizadas en ciertas metodologías ágiles que implican código de calidad son: programación en parejas, pruebas unitarias, desarrollo de la historias conducidas, pruebas de aceptación, la comunicación con el cliente y refactorización constante…. Y MAS! AGIL IS COOL Hardware adecuado Equipos reducidos Practica 100 % ? ? ? ehhh Diferentes proyectos & tecnologias
  • 7. First Steps / Primeros pasos ⇒ Understanding other’s code/ Entender el código de otros. Ensalada de codigo
  • 8. First Steps / Primeros pasos ⇒ Understanding other’s code/ Entender el código de otros. ⇒ Code review/ Revisiones de código ⇒ Pair Programing/ Programación en pares.
  • 9. Test First / Pruebas Primero Cuantas veces han escrito pruebas como?
  • 10. Test First / Pruebas Primero Dia 1 Controladores  probando la vista
  • 11. Todo se resume en el comportamiento Las primeras frases a las que fui expuesta fueron:   You should wait a few months before starting work Y mi Favorita:   You should wear glasses, jeans and t-shirt to look like a programmer.   You must stay at home and wait until your English gets better.
  • 12. Tiempo / Timing independencia en ciertas situaciones comportamiento esperado contexto controlado
  • 13. Sintaxis   Escribir pruebas sin necesidad de tener un dominio absoluto del Ingles.  miObjeto.should == ‘algo’ miObjeto debe ser igual a ‘algo’  miObjeto.should do ‘algo’ miObjeto debe hacer ‘algo’
  • 14. Simple lectura ….   no es necesario entender la sintaxis RSpec para poder utilizar Rspec   Rspec es fácil de leer y entender (aun con un ingles básico)   definición de requisitos de alto nivel de manera concisa y rápida   Rspec proporciona una separación de las pruebas de otros elementos existentes en un MVC.
  • 15. Testing en Capas * Grafico preparado por RubyFocus http://www.rubyfocus.biz
  • 16. Expectaciones Existen dos métodos para chequear expectaciones: should() & should_not(). should respond_to() should be_nil -> funciona ademas con ? Metodo predicar Should be_valid Should not be_nil, should_not be_valid should eql, == -> compara valores Should equal, === ->compara objetos Y MAS …….. Y matchers……
  • 17. Predicate Matcher En Ruby un método predicate es un método que termina en “?”y retorna una expresión booleana. mystring.empty?.should == true mystring.should be_empty
  • 18. Las expectaciones van escritas dentro de la “cosa Descripta” y en un contexto definido Estructura before
  • 19. Mi súper diccionario    Context: Contexto descripto   Describe: Describir “algo”   It <comportamiento> : comportamiento esperado de la cosa descripta   Should: deberia   Should not: no deberia Así que una razón para usar Rspec es su Claridad La clave esta conocer las palabras “mágicas” que describan el comportamiento deseado en pocos pasos.
  • 20. Prueba escrita por un niño Test First Teaching al REVES ;-)
  • 23. Tips
  • 24. Let   Te muestra quienes son los jugadores o involucrados.   Retorna una evaluacion ‘lazy’   Descarta el before block. Tips
  • 25. Subject & it Sujeto implicito Tips
  • 26. Subject & it Sujeto implicito Tips
  • 27. Subject & it Definir el subjeto Tips
  • 29. Simple output -Simple lectura Tips
  • 31. Expect Util para expectaciones de ActiveRecords! Tips
  • 33. Shoulda Rspec generara una clara descripción Requiere gem shoulda validate_format_of, validate_presence_of, …… Tips
  • 34. Again!    Context: Contexto descripto   Describe: Describir “algo”   It <comportamiento> : comportamiento esperado de la cosa descripta   Should: deberia   Should not: no deberia La clave esta conocer las palabras “mágicas” que describan el comportamiento deseado en pocos pasos.
  • 35.   Hoy en Dia. El Código se lee mas de lo que se escribe
  • 36. Gracias! - Thanks Cool People: YOU A huge thanks goes out to: My mentors & work team & for helping out with challenges and site coding! Inspirada por