SlideShare una empresa de Scribd logo
1/44
AUTOMATIZACIÓN UNIT TESTING
         JAVASCRIPT

                     Tomás Corral




                                    2/44
3/44
EVOLUCIÓN DE LAS PRUEBAS EN JAVASCRIPT




 JAVASCRIPT   MOSTRAR    HERRAMIENTAS     LIBRERÍAS        TEST
   NATIVO     ERRORES         DE              DE        DISTRIBUIDO
              EN CAPAS    DESARROLLO    TEST UNITARIO



                                                                      4/44
HERRAMIENTAS
  • JsTestDriver
  • Sinon.js
  • Jenkins




                   5/44
6/44
TEST RUNNER




              7/44
8/44
ADAPTERS




           9/44
PLUGINS IDE’S




                10/44
11/44
12/44
SPY


      13/44
SPY
Función / Método no existente




                                14/44
SPY
Función / Método existente




                             15/44
STUB


   16/44
STUB




       17/44
MOCK


       18/44
MOCK




       19/44
useFakeTimers




            20/44
useFakeTimers




                21/44
useFakeXMLHttpRequest




                        22/44
useFakeXMLHttpRequest




                        23/44
fakeServer.create




                24/44
fakeServer.create




                    25/44
26/44
27/44
Integración Continua




                       28/44
29/44
30/44
Aumentar
la calidad del
    código
                 31/44
32/44
33/44
32/43
Warning! JSLint will hurt your feelings.




                                           34/44
Programar




                      +




            HARNESS




                          35/44
CONFIGURACIÓN
  SERVIDOR
 UNIT TESTING




            36/44
2Gb RAM




                 :XXX1    :XXX3         :XXX5        :XXX7        :XXX9           :XX11
                 :XXX2    :XXX4         :XXX6        :XXX8        :XX10           :XX12




              Scripts


Al lanzar los test       Balanceo de carga de servidores. ¿Que servidor queda libre?



     5 min               ¿Están escuchando todos los navegadores?         ¿Hay algún servidor bloqueado?

    2 horas              Reiniciamos todos los navegadores: Internet Explorer

    4 horas              Reiniciamos todos los navegadores: Firefox


                                                                                                           37/44
COLABORA


           38/44
39/44
Contacto:

E-mail:         amischol@gmail.com
E-mail corp.:   tomas.corral@softonic.com

Twitter:        @amischol




                                            40/44
http://bit.ly/softhire

                         41/44
42/44
JsTestDriver        :   http://code.google.com/p/js-test-driver/
Qunit adapter       :   http://code.google.com/p/js-test-driver/wiki/QUnitAdapter
Jasmine adapter     :   http://github.com/ibolmo/jasmine-jstd-adapter
Sinon.js            :   http://sinonjs.org
SVN                 :   http://subversion.tigris.org/
GIT                 :   http://git-scm.com/
Pre-commit hooks    :   http://wordaligned.org/articles/a-subversion-pre-commit-hook
Test Harness        :   http://en.wikipedia.org/wiki/Test_harness/
Balanceo de carga   :   http://es.wikipedia.org/wiki/Balance_de_carga




                                                                                       43/44
Images disclaimer: All the images and photographs used in this presentation are of their legal owners.
Images found using Google Images on:

http://muengg.com/blog/
http://60secondmarketer.com/blog/2010/08/30/20-questions-to-help-you-differentiate-your-brand/
http://crashtestdummy.com.au/wp-content/uploads/2010/12/crash-test-dummy-awards.jpg
http://www.collution.com.ar/
http://techcenterpc.blogspot.com/
http://www.wallpaper1080hd.com/desk/1920x1200/2010/0718/4340.html
http://jenkins-ci.org/
http://comecocos.com/2011/es-imposible-viajar-en-el-tiempo/the_time_machine/
http://luauf.com/category/programacion/ajax/
http://www.movies-wallpapers.net/Wallpaper-Austin%20Powers%20In%20Goldmember/Austin%20Powers%20In%20Goldmember-49.jpg.html
http://www.masoportunidades.com.ar/aviso/6173058-el-super-agente-86-todas-las-temporadas-completas-disponible-en-capital-federal
http://www.sololistas.net/los-mejores-james-bond.html
http://sinonjs.org
http://www.pixalonstudios.com/index.php?page=games&game=dummies
http://code.google.com/p/js-test-driver/
http://www.shutterstock.com/index.mhtml?language=es&gclid=CMyP-5-M5a4CFZARfAodnBArvw
http://www.wordans.com.au/lego+designs
http://www.moebiusonline.eu/fuorionda/RobotCrashTest.shtml
http://www.latostadora.com/disponibilidad_dibujo/crash_test_dummies/57175
http://subversion.tigris.org/
http://git-scm.com/
https://www.pyro-tection.com/rescueshop/catalog/index.php/cPath/59
http://www.disfrazmania.com/seccion/Todo-para-piratas/articulo/Garfio




                                                                                                                                   44/44

Más contenido relacionado

Similar a Automatización Unit Testing Javascript (20)

PPTX
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta
 
PDF
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 4 - Introducción...
Romén Rodríguez-Gil
 
PPTX
Herramientas y Tecnologías para la Web
Erick David Juarez
 
PDF
Mobile Web & Widgets
Maximiliano Firtman
 
PDF
Momo mobile webwidgets
MOMO BUENOSAIRES
 
PPTX
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Jose Luis Soria
 
PPTX
VLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
Jaime L. López Carratalá
 
PDF
Microsoft Test Manager 2010
Oliver Centeno
 
PDF
Google Web Toolkit (GWT) en entornos empresariales
Tecsisa
 
PPTX
Flash Platform
Alberto González
 
PDF
TestingAR Meetup 4to Encuentro - ConTest - Mónica Wodzislawski
TestingAR Meetup
 
PPTX
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Abstracta
 
PPTX
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Federico Toledo
 
ODP
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]
RootedCON
 
PDF
Netbeans Osum
Jaime Pérez
 
PDF
Desarrollo con Java y metodologías agiles
Jobsket
 
PPTX
Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Applied Computing Group
 
PDF
Web Service buscador de localizaciones de IP’s
Pablo Pellegrinet
 
PDF
HTML5 Today #1
HTML5 Spain
 
PDF
Barcamp Mobile Web
Maximiliano Firtman
 
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta
 
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 4 - Introducción...
Romén Rodríguez-Gil
 
Herramientas y Tecnologías para la Web
Erick David Juarez
 
Mobile Web & Widgets
Maximiliano Firtman
 
Momo mobile webwidgets
MOMO BUENOSAIRES
 
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Jose Luis Soria
 
VLCTESTING-testeo-y-calidad-javascript-Jaime-Lopez
Jaime L. López Carratalá
 
Microsoft Test Manager 2010
Oliver Centeno
 
Google Web Toolkit (GWT) en entornos empresariales
Tecsisa
 
Flash Platform
Alberto González
 
TestingAR Meetup 4to Encuentro - ConTest - Mónica Wodzislawski
TestingAR Meetup
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Abstracta
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Federico Toledo
 
Jesús Olmos - ChromeHack, a html5/chrome webhack tool [Rooted CON 2013]
RootedCON
 
Netbeans Osum
Jaime Pérez
 
Desarrollo con Java y metodologías agiles
Jobsket
 
Cruzando el abismo educativo de la ingeniería de software utilizando Software...
Applied Computing Group
 
Web Service buscador de localizaciones de IP’s
Pablo Pellegrinet
 
HTML5 Today #1
HTML5 Spain
 
Barcamp Mobile Web
Maximiliano Firtman
 

Más de Tomas Corral Casas (9)

PPTX
Introduction to TypeScript
Tomas Corral Casas
 
PPTX
Mikado method
Tomas Corral Casas
 
PDF
Welovejs AngularJS
Tomas Corral Casas
 
PPTX
Testea y aumenta tu karma
Tomas Corral Casas
 
PPTX
Coderdojo bcn 12_10_2013
Tomas Corral Casas
 
PPS
Lo que los desarrolladores web deberían saber
Tomas Corral Casas
 
ODP
Hydra.js modula tu código
Tomas Corral Casas
 
PPTX
Less is more
Tomas Corral Casas
 
PPTX
Design patterns in Javascript
Tomas Corral Casas
 
Introduction to TypeScript
Tomas Corral Casas
 
Mikado method
Tomas Corral Casas
 
Welovejs AngularJS
Tomas Corral Casas
 
Testea y aumenta tu karma
Tomas Corral Casas
 
Coderdojo bcn 12_10_2013
Tomas Corral Casas
 
Lo que los desarrolladores web deberían saber
Tomas Corral Casas
 
Hydra.js modula tu código
Tomas Corral Casas
 
Less is more
Tomas Corral Casas
 
Design patterns in Javascript
Tomas Corral Casas
 
Publicidad

Último (18)

PDF
albañileriaalbañileriaalbañileriaalbañileriaalbañileria
danteisrael987654321
 
PPTX
MAQUINA DE TURING Y VARIANTES DEL LA MAQUINA DE TURING.pptx
GabyBraga4
 
PPTX
Presentación de servicios XMS (2025) - Partner Microsoft
INBOUND PLUS SpA
 
PPT
(cloud computing) se refiere al acceso a recursos informáticos a través de in...
75485218
 
PPTX
COMUNICACIÓN DIDÁCTICA EL LENGUAJE..pptx
gonzalezb2206
 
PPTX
UiPath and Dream to Succeed Kick Off 2025 AI Agentic Automation RPA Program 2025
DianaGray10
 
PPTX
Revolucionando-los-Informes-Tecnicos-con-IA.pptx
DanielChura9
 
PPTX
presentación a introducción de mantenimiento.pptx
ubaldoGonzalez16
 
PDF
CITIZEN____MANUAL____________________pdf
CarlosMarvinMurillo
 
PPTX
PRESENTACIÓNmaterialesindustriales1.pptx
JoseMaria871605
 
PPTX
Navegadores y buscadores en informática.
olayoEzequielXecPoz
 
PDF
Exposición Rayleigh, teoría de la comunicación, etsii tugr
DanielPereiraRiquelm
 
PPTX
HARDWARE ponderaciones y placas madre.pptx
jjcondori21
 
PPTX
__Capacitacion_Basica_CCTV_______________
avega27
 
PPTX
Clase 6. SOFTWARE DE COMPUTADORA (tecnología)
olayoEzequielXecPoz
 
DOCX
Distribucion de frecuencias Michelle Solarte 11-5 2025
MissPotato2
 
PDF
Pink and Purple Illustrative Computer Technology Presentation (2).pdf
hectorramosc25an
 
PDF
Curso.Formacion.dron.A1.A3.Completo.v1.pdf
jimenoasenjo1
 
albañileriaalbañileriaalbañileriaalbañileriaalbañileria
danteisrael987654321
 
MAQUINA DE TURING Y VARIANTES DEL LA MAQUINA DE TURING.pptx
GabyBraga4
 
Presentación de servicios XMS (2025) - Partner Microsoft
INBOUND PLUS SpA
 
(cloud computing) se refiere al acceso a recursos informáticos a través de in...
75485218
 
COMUNICACIÓN DIDÁCTICA EL LENGUAJE..pptx
gonzalezb2206
 
UiPath and Dream to Succeed Kick Off 2025 AI Agentic Automation RPA Program 2025
DianaGray10
 
Revolucionando-los-Informes-Tecnicos-con-IA.pptx
DanielChura9
 
presentación a introducción de mantenimiento.pptx
ubaldoGonzalez16
 
CITIZEN____MANUAL____________________pdf
CarlosMarvinMurillo
 
PRESENTACIÓNmaterialesindustriales1.pptx
JoseMaria871605
 
Navegadores y buscadores en informática.
olayoEzequielXecPoz
 
Exposición Rayleigh, teoría de la comunicación, etsii tugr
DanielPereiraRiquelm
 
HARDWARE ponderaciones y placas madre.pptx
jjcondori21
 
__Capacitacion_Basica_CCTV_______________
avega27
 
Clase 6. SOFTWARE DE COMPUTADORA (tecnología)
olayoEzequielXecPoz
 
Distribucion de frecuencias Michelle Solarte 11-5 2025
MissPotato2
 
Pink and Purple Illustrative Computer Technology Presentation (2).pdf
hectorramosc25an
 
Curso.Formacion.dron.A1.A3.Completo.v1.pdf
jimenoasenjo1
 
Publicidad

Automatización Unit Testing Javascript

  • 2. AUTOMATIZACIÓN UNIT TESTING JAVASCRIPT Tomás Corral 2/44
  • 4. EVOLUCIÓN DE LAS PRUEBAS EN JAVASCRIPT JAVASCRIPT MOSTRAR HERRAMIENTAS LIBRERÍAS TEST NATIVO ERRORES DE DE DISTRIBUIDO EN CAPAS DESARROLLO TEST UNITARIO 4/44
  • 5. HERRAMIENTAS • JsTestDriver • Sinon.js • Jenkins 5/44
  • 7. TEST RUNNER 7/44
  • 9. ADAPTERS 9/44
  • 11. 11/44
  • 12. 12/44
  • 13. SPY 13/44
  • 14. SPY Función / Método no existente 14/44
  • 15. SPY Función / Método existente 15/44
  • 16. STUB 16/44
  • 17. STUB 17/44
  • 18. MOCK 18/44
  • 19. MOCK 19/44
  • 20. useFakeTimers 20/44
  • 21. useFakeTimers 21/44
  • 26. 26/44
  • 27. 27/44
  • 29. 29/44
  • 30. 30/44
  • 31. Aumentar la calidad del código 31/44
  • 32. 32/44
  • 34. Warning! JSLint will hurt your feelings. 34/44
  • 35. Programar + HARNESS 35/44
  • 36. CONFIGURACIÓN SERVIDOR UNIT TESTING 36/44
  • 37. 2Gb RAM :XXX1 :XXX3 :XXX5 :XXX7 :XXX9 :XX11 :XXX2 :XXX4 :XXX6 :XXX8 :XX10 :XX12 Scripts Al lanzar los test Balanceo de carga de servidores. ¿Que servidor queda libre? 5 min ¿Están escuchando todos los navegadores? ¿Hay algún servidor bloqueado? 2 horas Reiniciamos todos los navegadores: Internet Explorer 4 horas Reiniciamos todos los navegadores: Firefox 37/44
  • 38. COLABORA 38/44
  • 39. 39/44
  • 40. Contacto: E-mail: [email protected] E-mail corp.: [email protected] Twitter: @amischol 40/44
  • 42. 42/44
  • 43. JsTestDriver : http://code.google.com/p/js-test-driver/ Qunit adapter : http://code.google.com/p/js-test-driver/wiki/QUnitAdapter Jasmine adapter : http://github.com/ibolmo/jasmine-jstd-adapter Sinon.js : http://sinonjs.org SVN : http://subversion.tigris.org/ GIT : http://git-scm.com/ Pre-commit hooks : http://wordaligned.org/articles/a-subversion-pre-commit-hook Test Harness : http://en.wikipedia.org/wiki/Test_harness/ Balanceo de carga : http://es.wikipedia.org/wiki/Balance_de_carga 43/44
  • 44. Images disclaimer: All the images and photographs used in this presentation are of their legal owners. Images found using Google Images on: http://muengg.com/blog/ http://60secondmarketer.com/blog/2010/08/30/20-questions-to-help-you-differentiate-your-brand/ http://crashtestdummy.com.au/wp-content/uploads/2010/12/crash-test-dummy-awards.jpg http://www.collution.com.ar/ http://techcenterpc.blogspot.com/ http://www.wallpaper1080hd.com/desk/1920x1200/2010/0718/4340.html http://jenkins-ci.org/ http://comecocos.com/2011/es-imposible-viajar-en-el-tiempo/the_time_machine/ http://luauf.com/category/programacion/ajax/ http://www.movies-wallpapers.net/Wallpaper-Austin%20Powers%20In%20Goldmember/Austin%20Powers%20In%20Goldmember-49.jpg.html http://www.masoportunidades.com.ar/aviso/6173058-el-super-agente-86-todas-las-temporadas-completas-disponible-en-capital-federal http://www.sololistas.net/los-mejores-james-bond.html http://sinonjs.org http://www.pixalonstudios.com/index.php?page=games&game=dummies http://code.google.com/p/js-test-driver/ http://www.shutterstock.com/index.mhtml?language=es&gclid=CMyP-5-M5a4CFZARfAodnBArvw http://www.wordans.com.au/lego+designs http://www.moebiusonline.eu/fuorionda/RobotCrashTest.shtml http://www.latostadora.com/disponibilidad_dibujo/crash_test_dummies/57175 http://subversion.tigris.org/ http://git-scm.com/ https://www.pyro-tection.com/rescueshop/catalog/index.php/cPath/59 http://www.disfrazmania.com/seccion/Todo-para-piratas/articulo/Garfio 44/44