Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Testing Ruby on Rails (spanish)

5,382 views

Published on

Talk given at the RailsConf Hispana (http://www.conferenciarails.org/)

Published in: Technology, Education
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Excellent presentation. I've taken a number of the framework graphics together with adapted to my startup
    Teisha
    http://dashinghealth.com http://healthimplants.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Testing Ruby on Rails (spanish)

  1. 1. Testing Ruby on Rails Conferencia @Rails Hispana :: 25/11/2006 [email_address]
  2. 2. Contenidos <ul><ul><li>Historia: Fred, Kent, Martin y David </li></ul></ul><ul><ul><li>Teoría: Ruby Test::Unit con RadRails </li></ul></ul><ul><ul><li>Práctica: Testing con Rails </li></ul></ul>
  3. 3. 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
  4. 4. Kent Beck http://www.threeriversinstitute.org/Kent%20Beck.htm <ul><ul><li>1994: “Simple Smalltalk Testing” </li></ul></ul><ul><ul><li>Framework para automatizar </li></ul></ul><ul><ul><li>los tests unitarios </li></ul></ul><ul><ul><li>2002: “Test Driven Development” </li></ul></ul><ul><ul><li>Escribir los tests antes del código </li></ul></ul>
  5. 5. Martin Fowler http://www.martinfowler.com/ <ul><li>1999: “Refactoring” </li></ul><ul><li>Mejorar el mantenimiento + extensibilidad de los programas gracias una colección de refactorizaciones </li></ul><ul><li>2000: “Integración Continua” </li></ul><ul><li>Agilizar el proceso de integración </li></ul><ul><li>con builds automáticos diarios </li></ul>
  6. 6. 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
  7. 7. Qué era Testing? <ul><ul><li>Pruebas manuales </li></ul></ul><ul><ul><li>Debug de las aplicaciones web mediante la GUI </li></ul></ul><ul><ul><li>Integración manual al último momento, sin pruebas de regresión </li></ul></ul>pocos tests para respetar el plazo Más defectos no detectados Objetivo: Entregar “algo” Cliente :-(( Programador :-(
  8. 8. Qué es Testing? <ul><ul><li>Automatizable: implementado con Test::Unit. </li></ul></ul><ul><ul><li>Rápido: 2307 tests de Rails en 11s </li></ul></ul><ul><ul><li>Integración Continua: Ayuda la vida de programadores </li></ul></ul><ul><ul><li>Mejora el diseño con la Refactorización </li></ul></ul><ul><ul><li>Documenta el código </li></ul></ul>Objetivo: Calidad Buena cobertura de tests más receptivo al cambio Cliente & Programador :-)
  9. 9. Qué es un test unitario? TDD! Test Driven Development = Escribir los tests primero!
  10. 10. Qué es un test unitario? <ul><ul><li>1 clase => 1 clase de test </li></ul></ul><ul><ul><li>1 método => 1 test </li></ul></ul><ul><ul><li>Convenciónes de nombre: </li></ul></ul><ul><ul><ul><ul><li>CalculadorTest <=> Calculador </li></ul></ul></ul></ul><ul><ul><li>El nombre del método empieza por test_ </li></ul></ul>
  11. 11. <ul><ul><li>assert_equal( esperado, prueba, msg ) </li></ul></ul><ul><ul><li>assert_not_nil( prueba, msg ) </li></ul></ul><ul><ul><li>assert_raises(Excepción) { bloqueo de código } </li></ul></ul><ul><ul><li>y mucho más en http://www.ruby-doc.org/core/classes/Test/Unit.html </li></ul></ul>Los métodos assert
  12. 12. RadRails <ul><ul><li>Trabajar con tests en RadRails es fácil y divertido </li></ul></ul><ul><ul><li>mediante una GUI: </li></ul></ul><ul><ul><li>Viene con los tests específicos a Rails: </li></ul></ul>
  13. 13. 1 + 1 = 2?
  14. 14. Error? Un problema de programación genera una “Excepción”
  15. 15. Fallo (Failure)? Cuando el resultado no es lo esperado:
  16. 16. Éxito ? <ul><ul><li>¡Adicción a la barra verde! </li></ul></ul>
  17. 17. 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 ...
  18. 18. Tests Unitarios
  19. 19. BBDD para los tests
  20. 20. La magia de las Fixtures <ul><ul><li>Fixtures son datos reutilizables para los tests </li></ul></ul>¡Magia! Rails inserta automáticamente:
  21. 21. Ejemplo de test unitario
  22. 22. Tests Funcionales
  23. 23. Test de una petición GET
  24. 24. Test de una petición POST
  25. 25. Qué es un Mock en Rails ? <ul><ul><li>Un Mock es una clase falsa que implementa la misma </li></ul></ul><ul><ul><li>interfaz que tu clase real: </li></ul></ul>
  26. 26. Rails viene con Mock mocks/development: objetos Mock para el desarallo (BBDD development) mocks/test: objetos Mock para los tests (BBDD test)
  27. 27. Ejemplo de mocks/test c
  28. 28. Por qué usar Mocks? (1) <ul><ul><li>mejorar tus tests unitarios aislando la clase de sus dependencias (sino es 1 test de integración) </li></ul></ul><ul><ul><li>remplazar una dependencia que no es siempre disponible (conexión de red, web-service, ...) </li></ul></ul>
  29. 29. Por qué usar Mocks? (2) <ul><ul><li>incrementar el rendimiento para ejecutar los tests (ej. llamadas a la BBDD son muy lentas) </li></ul></ul><ul><ul><li>ayudar al reparto del trabajo para cada capa de la aplicación (Presentación, Negocio) </li></ul></ul><ul><ul><li>Más? http://www.martinfowler.com/articles/mocksArentStubs.html </li></ul></ul>
  30. 30. Tests de Aceptación de Usuario
  31. 31. <ul><ul><li>http://www.openqa.org/selenium/ http://www-128.ibm.com/developerworks/library/wa-selenium-ajax/ </li></ul></ul>Selenium Compatible con
  32. 32. Selenium-IDE <ul><li>Abrir la página de google.com </li></ul><ul><li>Teclar “conferencia Rails” </li></ul><ul><li>Click y esperar </li></ul><ul><li>Comprobar que contiene el texto &quot;Madrid&quot; </li></ul>
  33. 33. Selenium TestRunner
  34. 34. Selenium on Rails
  35. 35. Usos de Selenium <ul><ul><li>Automatizar las pruebas de aceptación de usuario </li></ul></ul><ul><ul><li>Comprobar la compatibilidad cross-browser de tu aplicación </li></ul></ul><ul><ul><li>Selenium es compatible con: </li></ul></ul><ul><ul><li>Windows (Internet Explorer 6.0, Firefox 0.8 – 2.0, Opera 8) </li></ul></ul><ul><ul><li>Mac OS X (Safari 1.3+, Firefox 0.8 – 2.0, Camino 1.0a1) </li></ul></ul><ul><ul><li>Linux (Firefox 0.8 to 2.0, Konqueror ) </li></ul></ul>
  36. 36. rcov <ul><ul><li>Puedes saber qué partes de tu programa tienen cobertura con los tests y qué partes faltan </li></ul></ul><ul><ul><li>desarrollado por Mauricio Fernandez </li></ul></ul><ul><li>http://eigenclass.org/hiki.rb?rcov </li></ul>
  37. 37. Cobertura de tests
  38. 38. Agiledox <ul><ul><li>Generar Especificaciones Funcionales a partir de </li></ul></ul><ul><ul><li>los tests: </li></ul></ul><ul><ul><li>desarrollado por Ben Griffith </li></ul></ul><ul><li>http://www.reevoo.com/blogs/bengriffiths/2006/04/05/rails-agiledox-browser/ </li></ul>
  39. 39. Agiledox browser
  40. 40. <ul><ul><li>PREGUNTAS? </li></ul></ul>

×