44
1/ 44

Automatizacion Unit Testing Javascript

Embed Size (px)

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.

Citation preview

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