automatizacion unit testing javascript

44
1/ 44

Upload: tomas-corral-casas

Post on 22-Oct-2014

123 views

Category:

Documents


2 download

DESCRIPTION

Explicación de como montar un sistema de unit testing automatizado, en el proceso de desarrollo, de forma que sea estable para equipos medianos-grandes.

TRANSCRIPT

Page 1: Automatizacion Unit Testing Javascript

1/44

Page 2: Automatizacion Unit Testing Javascript

AUTOMATIZACIÓN UNIT TESTING

JAVASCRIPT

Tomás Corral

2/44

Page 3: Automatizacion Unit Testing Javascript

3/44

Page 4: Automatizacion Unit Testing Javascript

EVOLUCIÓN DE LAS PRUEBAS EN JAVASCRIPT

JAVASCRIPTNATIVO

HERRAMIENTASDE

DESARROLLO

MOSTRARERRORESEN CAPAS

LIBRERÍASDE

TEST UNITARIO

TESTDISTRIBUIDO

4/44

Page 5: Automatizacion Unit Testing Javascript

HERRAMIENTAS

• JsTestDriver• Sinon.js• Jenkins

5/44

Page 6: Automatizacion Unit Testing Javascript

6/44

Page 7: Automatizacion Unit Testing Javascript

TEST RUNNER

7/44

Page 8: Automatizacion Unit Testing Javascript

8/44

Page 9: Automatizacion Unit Testing Javascript

ADAPTERS

9/44

Page 10: Automatizacion Unit Testing Javascript

PLUGINS IDE’S

10/44

Page 11: Automatizacion Unit Testing Javascript

11/44

Page 12: Automatizacion Unit Testing Javascript

12/44

Page 13: Automatizacion Unit Testing Javascript

SPY

13/44

Page 14: Automatizacion Unit Testing Javascript

SPYFunción / Método no existente

14/44

Page 15: Automatizacion Unit Testing Javascript

SPYFunción / Método existente

15/44

Page 16: Automatizacion Unit Testing Javascript

STUB

16/44

Page 17: Automatizacion Unit Testing Javascript

STUB

17/44

Page 18: Automatizacion Unit Testing Javascript

MOCK

18/44

Page 19: Automatizacion Unit Testing Javascript

MOCK

19/44

Page 20: Automatizacion Unit Testing Javascript

useFakeTimers

20/44

Page 21: Automatizacion Unit Testing Javascript

useFakeTimers

21/44

Page 22: Automatizacion Unit Testing Javascript

useFakeXMLHttpRequest

22/44

Page 23: Automatizacion Unit Testing Javascript

useFakeXMLHttpRequest

23/44

Page 24: Automatizacion Unit Testing Javascript

fakeServer.create

24/44

Page 25: Automatizacion Unit Testing Javascript

fakeServer.create

25/44

Page 26: Automatizacion Unit Testing Javascript

26/44

Page 27: Automatizacion Unit Testing Javascript

27/44

Page 28: Automatizacion Unit Testing Javascript

Integración Continua

28/44

Page 29: Automatizacion Unit Testing Javascript

29/44

Page 30: Automatizacion Unit Testing Javascript

30/44

Page 31: Automatizacion Unit Testing Javascript

Aumentarla calidad del

código31/44

Page 32: Automatizacion Unit Testing Javascript

32/44

Page 33: Automatizacion Unit Testing Javascript

32/4333/44

Page 34: Automatizacion Unit Testing Javascript

Warning! JSLint will hurt your feelings.

34/44

Page 35: Automatizacion Unit Testing Javascript

Programar

+

HARNESS

35/44

Page 36: Automatizacion Unit Testing Javascript

CONFIGURACIÓNSERVIDOR

UNIT TESTING

36/44

Page 37: Automatizacion Unit Testing Javascript

2Gb RAM

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

Reiniciamos todos los navegadores: Internet Explorer

Reiniciamos todos los navegadores: Firefox

:XXX1:XXX2

:XXX3:XXX4

:XXX5:XXX6

:XXX7:XXX8

:XXX9:XX10

:XX11:XX12

5 min

2 horas

4 horas

Al lanzar los test

Scripts

Balanceo de carga de servidores. ¿Que servidor queda libre?

37/44

Page 38: Automatizacion Unit Testing Javascript

COLABORA

38/44

Page 39: Automatizacion Unit Testing Javascript

39/44

Page 40: Automatizacion Unit Testing Javascript

Contacto:

E-mail: [email protected] corp.: [email protected]: @amischol

40/44

Page 41: Automatizacion Unit Testing Javascript

http://bit.ly/softhire

41/44

Page 42: Automatizacion Unit Testing Javascript

42/44

Page 43: Automatizacion Unit Testing Javascript

Qunit adapter : http://code.google.com/p/js-test-driver/wiki/QUnitAdapter

Jasmine adapter : http://github.com/ibolmo/jasmine-jstd-adapter

JsTestDriver : http://code.google.com/p/js-test-driver/

Sinon.js : http://sinonjs.org

SVN : http://subversion.tigris.org/

GIT : http://git-scm.com/

Test Harness : http://en.wikipedia.org/wiki/Test_harness/

Pre-commit hooks : http://wordaligned.org/articles/a-subversion-pre-commit-hook

Balanceo de carga : http://es.wikipedia.org/wiki/Balance_de_carga

43/44

Page 44: Automatizacion Unit Testing Javascript

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.jpghttp://www.collution.com.ar/http://techcenterpc.blogspot.com/http://www.wallpaper1080hd.com/desk/1920x1200/2010/0718/4340.htmlhttp://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.htmlhttp://www.masoportunidades.com.ar/aviso/6173058-el-super-agente-86-todas-las-temporadas-completas-disponible-en-capital-federalhttp://www.sololistas.net/los-mejores-james-bond.htmlhttp://sinonjs.orghttp://www.pixalonstudios.com/index.php?page=games&game=dummieshttp://code.google.com/p/js-test-driver/http://www.shutterstock.com/index.mhtml?language=es&gclid=CMyP-5-M5a4CFZARfAodnBArvwhttp://www.wordans.com.au/lego+designshttp://www.moebiusonline.eu/fuorionda/RobotCrashTest.shtmlhttp://www.latostadora.com/disponibilidad_dibujo/crash_test_dummies/57175http://subversion.tigris.org/http://git-scm.com/https://www.pyro-tection.com/rescueshop/catalog/index.php/cPath/59http://www.disfrazmania.com/seccion/Todo-para-piratas/articulo/Garfio

44/44