SlideShare una empresa de Scribd logo
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
TDD en java script
TDD en java script
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
TDD en java script
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.
TDD en java script
TDD en java script
Las 3 partes de las pruebas:
•Arrange (Preparar)
•Act (Actuar)
•Assert (Afirmar)
TDD en java script
Framework TDD
TDD en java script
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?
TDD en java script
TDD en java script
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

Más contenido relacionado

PPTX
Pedro sebastián mingo. peopleware en el testing
PDF
Enrique Sánchez. Cómo ser un agile tester (y no morir intentándolo)
PDF
Si no testeo no me lo creo
PPTX
Cross management experiences. mis 7 conclusiones
PDF
Introducción a TDD
PDF
Integración contínua con Jenkins
PDF
Agile Testing - Software Testing Club
PPTX
065 Testing Automatizado Hagamos Que Las Maquinas Trabajen Por Nosotros
Pedro sebastián mingo. peopleware en el testing
Enrique Sánchez. Cómo ser un agile tester (y no morir intentándolo)
Si no testeo no me lo creo
Cross management experiences. mis 7 conclusiones
Introducción a TDD
Integración contínua con Jenkins
Agile Testing - Software Testing Club
065 Testing Automatizado Hagamos Que Las Maquinas Trabajen Por Nosotros

La actualidad más candente (20)

PDF
Testing, tipos y otros flamewars
PPTX
El coste de no usar integración continua
PDF
Introducción a la automatización de pruebas con tecnologías .Net
PDF
Cómo iniciarme en el mundo de la automatización de pruebas
PDF
Testing como parte de la cultura DevOps
PDF
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
PDF
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
PDF
TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Des...
PDF
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
PPTX
PPTX
Integracion Continua
PDF
E2E testing frameworks:lo bueno, lo malo y lo feo
PDF
Análisis estático de código en Java
PDF
¿Cómo mejorar la calidad de tu automatización?
PDF
Testeas o k ase??
PPTX
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
PPTX
Cypress en un mundo lleno de Selenium
PPT
Integracion continua
PPT
Ejecutando pruebas automatizadas desde la nube
PDF
[ES] webcat 2014-03 Demystifying Development Techniques
Testing, tipos y otros flamewars
El coste de no usar integración continua
Introducción a la automatización de pruebas con tecnologías .Net
Cómo iniciarme en el mundo de la automatización de pruebas
Testing como parte de la cultura DevOps
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
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
Integracion Continua
E2E testing frameworks:lo bueno, lo malo y lo feo
Análisis estático de código en Java
¿Cómo mejorar la calidad de tu automatización?
Testeas o k ase??
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
Cypress en un mundo lleno de Selenium
Integracion continua
Ejecutando pruebas automatizadas desde la nube
[ES] webcat 2014-03 Demystifying Development Techniques
Publicidad

Similar a TDD en java script (20)

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

Más de Carlos Uscamayta (10)

PPT
Arquitectura de software
PPT
Comercio electronico
PPTX
PPTX
AngularJS2
PPTX
AngularJS
PPTX
PPTX
Algoritmos Voraces - Dijkstra
PPTX
AngularJS
PPTX
AngularJS DEVFEST
PPTX
AngularJS DEVFEST
Arquitectura de software
Comercio electronico
AngularJS2
AngularJS
Algoritmos Voraces - Dijkstra
AngularJS
AngularJS DEVFEST
AngularJS DEVFEST

Último (20)

PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
Diapositiva proyecto de vida, materia catedra
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPT
Protocolos de seguridad y mecanismos encriptación
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
PPTX
unidad 3 tecnología 8° básico: planificación y elaboración de un objeto
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
PDF
CyberOps Associate - Cisco Networking Academy
Mecanismos-de-Propagacion de ondas electromagneticas
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
la-historia-de-la-medicina Edna Silva.pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Diapositiva proyecto de vida, materia catedra
Power Point Nicolás Carrasco (disertación Roblox).pptx
Protocolos de seguridad y mecanismos encriptación
Presentacion de Alba Curso Auditores Internos ISO 19011
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
TRABAJO DE TECNOLOGIA.pdf...........................
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
unidad 3 tecnología 8° básico: planificación y elaboración de un objeto
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
Estrategia de Apoyo de Daylin Castaño (5).pdf
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
CyberOps Associate - Cisco Networking Academy

TDD en java script