SlideShare ist ein Scribd-Unternehmen logo
1 von 34
TDD en JavaScript
Primero el test!
carlos.uscamayta
uscamayta.carlos@gmail.com
@carlosUscamayta
Carla Lorena Villena Rivera.
Team Development Member
INNOVISION S.A.
Carlos Álvaro Uscamayta.
Team Development Member
INNOVISION S.A.
uagrm_carla_villena
ing.carla.villena@gmail.com
@villena_carla
Necesito un
Sistema para
mi almacén.
1° Análisis
2° Test
3° Código
Reutilizar código
(copy / paste),
seguir haciendo
código.
Demo de Adrian
Demo Pablo
VS.
Hacer la Versión 2,
para ver cual es la
mejor aplicación
Necesito nuevas
caracterizas para
el Sistema .
1° Análisis
2° Test,
3° Código
Reutilizar
código, seguir
haciendo
código.
Cuando NO haces pruebas….
Cuando SI haces pruebas…
¿Qué hizo Iván?
TDD en JavaScript
Primero el test!
Lo que veremos
¿Que es TDD ?
Los pilares de TDD
¿Qué son test unitarios?
Algoritmo de TDD
AAA
Herramientas TDD
Jasmine
Hacer prueba!
Jasmine Matchers
Jasmine jQuery
Test Driver Development
 La implementación de las funciones justas que el
cliente necesita y no más.
 La minimización del número de defectos que llegan
al software en fase de producción.
 La producción de software modular, altamente
reutilizable y preparado para el cambio.
Las 3 partes de las pruebas:
•Arrange (Preparar)
•Act (Actuar)
•Assert (Afirmar)
Framework TDD
Estructura de carpetas
Specs
Estructura de un archivo de pruebas
Test Setup
& Teardown
Historia de usuario
• Como usuario del sistema necesito un
sistema que me permita crear una lista de
tareas las cuales pueda crear eliminar y
dar por completada una vez que las haya
realizado.
Vamos a hacer pruebas!!!!
Jasmine Matchers
toBe( 'expected' ) toEqual( 'expected' )
toBeUndefined( ) toBeDefined( )
toMatch( /regex/ ) toBeNull( /regex/ )
toBeTruthy( ) toBeFalsy( )
toBeLessThan( number ) toBeGreaterThan( number )
toContain( item ) expect( function(){ fn(); }).toThrow( e )
No (not)
Cualquier matcher puede ser "revertida" mediante la inclusión
de la no (not) palabra clave.
Jasmine jQuery
• Jasmine jQuery es un conjunto de
matchers y funciones que le ayudarán a
comprobar los elementos DOM.
–Descargar de
https://github.com/velesin/jasmine-jquery.
–Incluya en su archivo Index.html, después
de cargar el Jasmine.
Es posible hacer prueba a este código?
Es posible hacer prueba a este código?
Referencias
• Libro: Diseño Agil con TDD
Carlos Blé Jurado y colaboradores.
http://www.carlosble.com/
• Page: Javascript Testing Framework
https://github.com/pivotal/jasmine

Weitere ähnliche Inhalte

Was ist angesagt?

¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?
Federico Toledo
 

Was ist angesagt? (20)

Testing, tipos y otros flamewars
Testing, tipos y otros flamewarsTesting, tipos y otros flamewars
Testing, tipos y otros flamewars
 
El coste de no usar integración continua
El coste de no usar integración continuaEl coste de no usar integración continua
El coste de no usar integración continua
 
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
 
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
 
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
 
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
 
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automationTestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
 
TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Des...
TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Des...TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Des...
TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Des...
 
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
 
TDD
TDDTDD
TDD
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
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
 
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
 
¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?
 
Testeas o k ase??
Testeas o k ase??Testeas o k ase??
Testeas o k ase??
 
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
 
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
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Ejecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nubeEjecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nube
 
[ES] webcat 2014-03 Demystifying Development Techniques
[ES] webcat 2014-03 Demystifying Development Techniques[ES] webcat 2014-03 Demystifying Development Techniques
[ES] webcat 2014-03 Demystifying Development Techniques
 

Ähnlich wie TDD en java script

[ALM09] Calidad en el código con Visual Studio 2010
[ALM09] Calidad en el código con Visual Studio 2010[ALM09] Calidad en el código con Visual Studio 2010
[ALM09] Calidad en el código con Visual Studio 2010
Luis Fraile
 
Ponele el TURBO al Dev Team de tu Startup
Ponele el TURBO al Dev Team de tu StartupPonele el TURBO al Dev Team de tu Startup
Ponele el TURBO al Dev Team de tu Startup
Martin Siniawski
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDD
Alfredo Chavez
 

Ähnlich wie TDD en java script (20)

software testing
software testingsoftware testing
software testing
 
Semana xiii.i
 Semana xiii.i Semana xiii.i
Semana xiii.i
 
Charla Tdd Uji 032010
Charla Tdd Uji 032010Charla Tdd Uji 032010
Charla Tdd Uji 032010
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Meetup: Sesion #1 Unit Testing & Simian Army
Meetup: Sesion #1 Unit Testing & Simian ArmyMeetup: Sesion #1 Unit Testing & Simian Army
Meetup: Sesion #1 Unit Testing & Simian Army
 
[ALM09] Calidad en el código con Visual Studio 2010
[ALM09] Calidad en el código con Visual Studio 2010[ALM09] Calidad en el código con Visual Studio 2010
[ALM09] Calidad en el código con Visual Studio 2010
 
Introducción a tdd
Introducción a tddIntroducción a tdd
Introducción a tdd
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDD
 
Ponele el TURBO al Dev Team de tu Startup
Ponele el TURBO al Dev Team de tu StartupPonele el TURBO al Dev Team de tu Startup
Ponele el TURBO al Dev Team de tu Startup
 
Artesania de Software y TDD
Artesania de Software y TDDArtesania de Software y TDD
Artesania de Software y TDD
 
Vuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdfVuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdf
 
Testing en aplicaciones móviles iOS, Android
Testing en aplicaciones móviles iOS, AndroidTesting en aplicaciones móviles iOS, Android
Testing en aplicaciones móviles iOS, Android
 
Taller evento TestingUY 2016 - Metricas en Tiempo Real y Automatización Dinám...
Taller evento TestingUY 2016 - Metricas en Tiempo Real y Automatización Dinám...Taller evento TestingUY 2016 - Metricas en Tiempo Real y Automatización Dinám...
Taller evento TestingUY 2016 - Metricas en Tiempo Real y Automatización Dinám...
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
Acercándose a la entrega contínua cómo construir un build pipeline
Acercándose a la entrega contínua cómo construir un build pipelineAcercándose a la entrega contínua cómo construir un build pipeline
Acercándose a la entrega contínua cómo construir un build pipeline
 
Calidad de software y TDD
Calidad de software y TDDCalidad de software y TDD
Calidad de software y TDD
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Importancia del testing en los proyectos
Importancia del testing en los proyectosImportancia del testing en los proyectos
Importancia del testing en los proyectos
 

Mehr von Carlos Uscamayta (10)

Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Comercio electronico
Comercio electronicoComercio electronico
Comercio electronico
 
NodeJS
NodeJSNodeJS
NodeJS
 
AngularJS2
AngularJS2AngularJS2
AngularJS2
 
AngularJS
AngularJSAngularJS
AngularJS
 
Scrum
ScrumScrum
Scrum
 
Algoritmos Voraces - Dijkstra
Algoritmos Voraces - DijkstraAlgoritmos Voraces - Dijkstra
Algoritmos Voraces - Dijkstra
 
AngularJS
AngularJSAngularJS
AngularJS
 
AngularJS DEVFEST
AngularJS DEVFESTAngularJS DEVFEST
AngularJS DEVFEST
 
AngularJS DEVFEST
AngularJS DEVFESTAngularJS DEVFEST
AngularJS DEVFEST
 

Kürzlich hochgeladen

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 

Kürzlich hochgeladen (10)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
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
 

TDD en java script