SlideShare une entreprise Scribd logo
1  sur  40
Testing Ruby on Rails Conferencia @Rails Hispana :: 25/11/2006 [email_address]
Contenidos ,[object Object],[object Object],[object Object]
http://www.cs.unc.edu/~brooks/ Fred Brooks 1975: “The Mythical Man-Month” ¼   Especificar 1/6   Programar ½  Tests 1986: En su artículo No Silver Bullet: Modelo en cascada = sugiere el Modelo Incremental
Kent Beck http://www.threeriversinstitute.org/Kent%20Beck.htm ,[object Object],[object Object],[object Object],[object Object],[object Object]
Martin Fowler http://www.martinfowler.com/ ,[object Object],[object Object],[object Object],[object Object],[object Object]
David Heinemeier Hansson http://www.loudthinking.com/arc/000421.html “ ... I think test-driven development has been most rewarding. It gives you the courage to execute on the deeper understanding... So, like, do your tests, 'mkay?” loudthinking.com - 11/03/2005
Qué era Testing? ,[object Object],[object Object],[object Object],pocos tests para respetar el plazo  Más defectos no detectados Objetivo: Entregar “algo” Cliente :-(( Programador :-(
Qué es Testing? ,[object Object],[object Object],[object Object],[object Object],[object Object],Objetivo: Calidad Buena cobertura de tests más receptivo al cambio Cliente & Programador :-)
Qué es un test unitario? TDD! Test Driven Development =  Escribir los tests primero!
Qué es un test unitario? ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Los métodos assert
RadRails ,[object Object],[object Object],[object Object]
1 + 1 = 2?
Error? Un problema de  programación genera una “Excepción”
Fallo (Failure)? Cuando el resultado no es lo esperado:
Éxito ? ,[object Object]
Rails viene con tests . /script/generate model Product exists  test/unit/ create  test/fixtures/ create  app/models/product.rb create  test/unit/product_test.rb create  test/fixtures/products.yml ...
Tests Unitarios
BBDD para los tests
La magia de las Fixtures ,[object Object],¡Magia! Rails inserta automáticamente:
Ejemplo de test unitario
Tests Funcionales
Test de una petición GET
Test de una petición POST
Qué es un Mock en Rails ? ,[object Object],[object Object]
Rails viene con Mock mocks/development: objetos Mock para el desarallo (BBDD development) mocks/test: objetos Mock para los tests (BBDD test)
Ejemplo de mocks/test c
Por qué usar Mocks? (1) ,[object Object],[object Object]
Por qué usar Mocks? (2) ,[object Object],[object Object],[object Object]
Tests  de Aceptación de Usuario
[object Object],Selenium Compatible con
Selenium-IDE ,[object Object],[object Object],[object Object],[object Object]
Selenium TestRunner
Selenium on Rails
Usos de Selenium ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
rcov ,[object Object],[object Object],[object Object]
Cobertura de tests
Agiledox ,[object Object],[object Object],[object Object],[object Object]
Agiledox browser
[object Object]

Contenu connexe

Tendances

Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
Kleer Agile Coaching & Training
 

Tendances (20)

Análisis estático de código en Java
Análisis estático de código en JavaAnálisis estático de código en Java
Análisis estático de código en Java
 
Pruebas Unitarias
Pruebas Unitarias Pruebas Unitarias
Pruebas Unitarias
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Introducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .NetIntroducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .Net
 
Bdd (Behavior Driven Development)
Bdd (Behavior Driven Development)Bdd (Behavior Driven Development)
Bdd (Behavior Driven Development)
 
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
Scrum overview
Scrum overview Scrum overview
Scrum overview
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
 
Integración Continua
Integración ContinuaIntegración Continua
Integración Continua
 
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
 
Testing como parte de la cultura DevOps
Testing como parte de la cultura DevOpsTesting como parte de la cultura DevOps
Testing como parte de la cultura DevOps
 
Cómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebasCómo iniciarme en el mundo de la automatización de pruebas
Cómo iniciarme en el mundo de la automatización de pruebas
 
Unit testing consejos
Unit testing   consejosUnit testing   consejos
Unit testing consejos
 
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integraciónASP.NET 5 en Linux y Mac OS X: herramientas e integración
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
 
E2E testing frameworks:lo bueno, lo malo y lo feo
E2E testing frameworks:lo bueno, lo malo y lo feoE2E testing frameworks:lo bueno, lo malo y lo feo
E2E testing frameworks:lo bueno, lo malo y lo feo
 
Integración y Entrega Continua con Visual Studio Online
Integración y Entrega Continua con Visual Studio OnlineIntegración y Entrega Continua con Visual Studio Online
Integración y Entrega Continua con Visual Studio Online
 
Defensive code
Defensive codeDefensive code
Defensive code
 

En vedette (8)

Extensibilidad isquiosural y potenciación paravertebral
Extensibilidad isquiosural y potenciación paravertebralExtensibilidad isquiosural y potenciación paravertebral
Extensibilidad isquiosural y potenciación paravertebral
 
Pruebas Funcionales Respiratorias Dr. Casanova
Pruebas Funcionales Respiratorias  Dr. CasanovaPruebas Funcionales Respiratorias  Dr. Casanova
Pruebas Funcionales Respiratorias Dr. Casanova
 
Pruebas de longitud muscular
Pruebas de longitud muscularPruebas de longitud muscular
Pruebas de longitud muscular
 
Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4
 
Técnicas de exploración osteomuscular
Técnicas de exploración osteomuscularTécnicas de exploración osteomuscular
Técnicas de exploración osteomuscular
 
Examen clínico funcional del sistema osteomuscular
Examen clínico funcional del sistema osteomuscularExamen clínico funcional del sistema osteomuscular
Examen clínico funcional del sistema osteomuscular
 
Pruebas funcionales musculares Daniels
Pruebas funcionales musculares DanielsPruebas funcionales musculares Daniels
Pruebas funcionales musculares Daniels
 
Pruebas Funcionales Musculares Daniels 6a Edicion
Pruebas Funcionales Musculares  Daniels 6a EdicionPruebas Funcionales Musculares  Daniels 6a Edicion
Pruebas Funcionales Musculares Daniels 6a Edicion
 

Similaire à Testing Ruby on Rails (spanish)

Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
David Calavera
 
Behavior1
Behavior1Behavior1
Behavior1
arajar
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
Jordi Llonch
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
Jordi Llonch
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
Akamon Engineering
 

Similaire à Testing Ruby on Rails (spanish) (20)

TechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team SystemsTechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team Systems
 
Unidad ii. tdd
Unidad ii. tddUnidad ii. tdd
Unidad ii. tdd
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
 
Charla evento TestingUY 2016 - Test Driven Development en la Plataforma Sales...
Charla evento TestingUY 2016 - Test Driven Development en la Plataforma Sales...Charla evento TestingUY 2016 - Test Driven Development en la Plataforma Sales...
Charla evento TestingUY 2016 - Test Driven Development en la Plataforma Sales...
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Behavior1
Behavior1Behavior1
Behavior1
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
DeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - SpanishDeSymfonyDay 2014 - To mock or not to mock - Spanish
DeSymfonyDay 2014 - To mock or not to mock - Spanish
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mock
 
Herramientas Digitales
Herramientas DigitalesHerramientas Digitales
Herramientas Digitales
 
Atix20
Atix20Atix20
Atix20
 
Testing, tipos y otros flamewars
Testing, tipos y otros flamewarsTesting, tipos y otros flamewars
Testing, tipos y otros flamewars
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de Selenium
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
 
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
Taller evento TestingUY 2015 - Técnicas de Automatización Going from GOOD to ...
 
Automatización de pruebas con Selenium, Typescript, Protractor & Cucumber
Automatización de pruebas con Selenium, Typescript, Protractor & CucumberAutomatización de pruebas con Selenium, Typescript, Protractor & Cucumber
Automatización de pruebas con Selenium, Typescript, Protractor & Cucumber
 

Plus de Jean-Michel Garnier

Spécification par l'exemple & Tests d'Acceptance Agile avec cucumber
Spécification par l'exemple & Tests d'Acceptance Agile  avec cucumberSpécification par l'exemple & Tests d'Acceptance Agile  avec cucumber
Spécification par l'exemple & Tests d'Acceptance Agile avec cucumber
Jean-Michel Garnier
 
Intro a RSpec, BDD, webapps User Acceptance Testing
Intro a RSpec, BDD, webapps User Acceptance TestingIntro a RSpec, BDD, webapps User Acceptance Testing
Intro a RSpec, BDD, webapps User Acceptance Testing
Jean-Michel Garnier
 

Plus de Jean-Michel Garnier (11)

2015 07 08_genevarb_maniok_presentation
2015 07 08_genevarb_maniok_presentation2015 07 08_genevarb_maniok_presentation
2015 07 08_genevarb_maniok_presentation
 
Tdd cara nov2010
Tdd cara nov2010Tdd cara nov2010
Tdd cara nov2010
 
Spécification par l'exemple & Tests d'Acceptance Agile avec cucumber
Spécification par l'exemple & Tests d'Acceptance Agile  avec cucumberSpécification par l'exemple & Tests d'Acceptance Agile  avec cucumber
Spécification par l'exemple & Tests d'Acceptance Agile avec cucumber
 
Cucumber Ecosystem Presentation
Cucumber Ecosystem PresentationCucumber Ecosystem Presentation
Cucumber Ecosystem Presentation
 
Tests d'Acceptance utilisateur avec cucumber
Tests d'Acceptance utilisateur avec cucumberTests d'Acceptance utilisateur avec cucumber
Tests d'Acceptance utilisateur avec cucumber
 
Tests Interfaces Web avec Rails
Tests Interfaces Web avec RailsTests Interfaces Web avec Rails
Tests Interfaces Web avec Rails
 
Fast web acceptance testing with selenium-grid
Fast web acceptance testing with selenium-gridFast web acceptance testing with selenium-grid
Fast web acceptance testing with selenium-grid
 
User Acceptance Testing Driven by Humans telling Stories (with RSpec)
User Acceptance Testing Driven by Humans telling Stories (with RSpec)User Acceptance Testing Driven by Humans telling Stories (with RSpec)
User Acceptance Testing Driven by Humans telling Stories (with RSpec)
 
Intro a RSpec, BDD, webapps User Acceptance Testing
Intro a RSpec, BDD, webapps User Acceptance TestingIntro a RSpec, BDD, webapps User Acceptance Testing
Intro a RSpec, BDD, webapps User Acceptance Testing
 
Les Tests avec Ruby on Rails et RSpec (in French)
Les Tests avec Ruby on Rails et RSpec (in French)Les Tests avec Ruby on Rails et RSpec (in French)
Les Tests avec Ruby on Rails et RSpec (in French)
 
Global Warming Lifestyle Change
Global Warming Lifestyle ChangeGlobal Warming Lifestyle Change
Global Warming Lifestyle Change
 

Dernier

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Dernier (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
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
 
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
 
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.
 
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
 
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
 
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
 
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...
 
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
 

Testing Ruby on Rails (spanish)