JavaScript: Mejorando la programación

Gary Briceño
Gary BriceñoInstructor en Cibertec
JavaScript

Elaborado por:
 Gary Briceño
http://gary.pe
Browser y S.O.




•Las expectativas y necesidades de la audiencia objetivo
•El porcentaje de mercado del browser
•El trabajo necesario para soportar un determinado browser
Beneficios vs Costo
Beneficios vs Costo en entorno Mobile
Buenas practicas
• Pruebas
     assert ( condición, mensaje )
     assert ( a == 1, ‘ Problemas, a no es 1’ )


• Análisis
     start = new Date().getTime();
     for (var n = 0; n < maxCount; n++) {
     /* perform the operation to be measured *//
     }
     elapsed = new Date().getTime() - start;
     assert(true,"Measured time: " + elapsed)


• Habilidades de depuración
Pruebas, pruebas, pruebas ..
Herramientas de depuración
              • Firebug una extensión
                de Firefox
              • IE developer Tools,
                incluido desde la
                versión 8
              • Opera Dragonfly,
                incluido en Opera 9.5
              • WebKit Developer
                Tools, incluido en Safari
                3 y ahora disponible en
                Chrome.
Registro de valores: Logging
Logging Cross - Browser




Mayor información:
http://patik.com/blog/complete-cross-browser-console-log/
Puntos de interrupción: Breakpoints

• Más complejo que el simple registro
• Detiene la ejecución del script en un punto
  determinado
• Permite revisar el estado de las variables en
  un determinado punto
Utilizando la función log
Uso de Breakpoints en Firefox
Generación de Pruebas

• Buenas pruebas generan buen código.

• Repetibles
  – Se deben ejecutar continuamente y producir el
    mismo resultado
• Simples
  – Defe enfocarse en probar una idea
• Independientes
  – Debe ser probado en forma aislada
Frameworks de prueba

• Características
  – Habilidad de simular el comportamiento del
    browser
  – Control interactivo de la prueba ( pausa y
    continuar )
  – Manejo de pruebas asíncronas
  – Habilidad de determinar que pruebas se realizaran
Uso de frameworks de prueba




Fuente:
https://spreadsheets.google.com/pub?key=ry8NZN4-Ktao1Rcwae-9Ljw&output=html
Más utilizados
1 de 16

Recomendados

Introducción a CoffeeScript por
Introducción a CoffeeScriptIntroducción a CoffeeScript
Introducción a CoffeeScriptJavier Ferrer González
969 vistas13 diapositivas
Novedades .Net Core - NetBaires por
Novedades .Net Core - NetBairesNovedades .Net Core - NetBaires
Novedades .Net Core - NetBairesfernando sonego
124 vistas16 diapositivas
Desarrollo de aplicaciones serverless por
Desarrollo de aplicaciones serverlessDesarrollo de aplicaciones serverless
Desarrollo de aplicaciones serverlessSoftware Guru
196 vistas28 diapositivas
Casper JS - Asegurando la calidad en front-end Drupal por
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalDavid Gil Sánchez
910 vistas33 diapositivas
¿Cómo automatizar pruebas de infraestructura y no morir en el intento? por
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?¿Cómo automatizar pruebas de infraestructura y no morir en el intento?
¿Cómo automatizar pruebas de infraestructura y no morir en el intento?Globant
113 vistas11 diapositivas
Capistrano drupalcamp-jerez-2015 por
Capistrano drupalcamp-jerez-2015Capistrano drupalcamp-jerez-2015
Capistrano drupalcamp-jerez-2015David Gil Sánchez
1K vistas30 diapositivas

Más contenido relacionado

Similar a JavaScript: Mejorando la programación

Probando aplicaciones AngularJS por
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
1.8K vistas67 diapositivas
Curso de automatización de pruebas por
Curso de  automatización de pruebasCurso de  automatización de pruebas
Curso de automatización de pruebasalejandro canosa
32 vistas18 diapositivas
Tu primer script en Katalon - Paso a Paso por
Tu primer script en Katalon - Paso a PasoTu primer script en Katalon - Paso a Paso
Tu primer script en Katalon - Paso a PasoArgentesting
7.3K vistas46 diapositivas
SonarQube: ¿cómo de malo es mi software? por
SonarQube: ¿cómo de malo es mi software?SonarQube: ¿cómo de malo es mi software?
SonarQube: ¿cómo de malo es mi software?Tomás Moreno Bernal
2.3K vistas19 diapositivas
Herramientas para la medicion de desempeño PHPConMX 2012 por
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012Carlos Nacianceno
646 vistas27 diapositivas
Webinar: Migrar el testing a open source por
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceFederico Toledo
353 vistas31 diapositivas

Similar a JavaScript: Mejorando la programación(20)

Tu primer script en Katalon - Paso a Paso por Argentesting
Tu primer script en Katalon - Paso a PasoTu primer script en Katalon - Paso a Paso
Tu primer script en Katalon - Paso a Paso
Argentesting7.3K vistas
Herramientas para la medicion de desempeño PHPConMX 2012 por Carlos Nacianceno
Herramientas para la medicion de desempeño  PHPConMX 2012Herramientas para la medicion de desempeño  PHPConMX 2012
Herramientas para la medicion de desempeño PHPConMX 2012
Carlos Nacianceno646 vistas
Webinar: Migrar el testing a open source por Federico Toledo
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open source
Federico Toledo353 vistas
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web por Deisy Sapaico
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Deisy Sapaico11.5K vistas
Symfony-Community: Introducción a Symfony Framework por excedesoft
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
excedesoft871 vistas
Creando Aplicaciones Web en el 2015 por Globant
 Creando Aplicaciones Web en el 2015 Creando Aplicaciones Web en el 2015
Creando Aplicaciones Web en el 2015
Globant694 vistas
Buenas Prácticas para la Construcción de Aplicaciones de Software por Jorge Alvarez
Buenas Prácticas para la Construcción de Aplicaciones de SoftwareBuenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de Software
Jorge Alvarez86 vistas
Fuzzing browsers by generating malformed HTML/HTML5 por navajanegra
Fuzzing browsers by generating malformed HTML/HTML5Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5
navajanegra1.8K vistas
An evening with ... Ionic Framework Meetup por Arkhotech
An evening with ... Ionic Framework Meetup An evening with ... Ionic Framework Meetup
An evening with ... Ionic Framework Meetup
Arkhotech231 vistas
Mi lenguaje de programación de preferencia por glfloresgilberto
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
glfloresgilberto224 vistas
Argentesting 2017 - Anatomia Framework Automatización por Argentesting
Argentesting 2017 - Anatomia Framework AutomatizaciónArgentesting 2017 - Anatomia Framework Automatización
Argentesting 2017 - Anatomia Framework Automatización
Argentesting918 vistas

Más de Gary Briceño

Git - Iniciando la Administración de Contenidos por
Git - Iniciando la Administración de ContenidosGit - Iniciando la Administración de Contenidos
Git - Iniciando la Administración de ContenidosGary Briceño
100 vistas18 diapositivas
Curso de Scala: Trabajando con variables por
Curso de Scala: Trabajando con variablesCurso de Scala: Trabajando con variables
Curso de Scala: Trabajando con variablesGary Briceño
2.6K vistas20 diapositivas
Kanban principio de visualizacion por
Kanban   principio de visualizacionKanban   principio de visualizacion
Kanban principio de visualizacionGary Briceño
1.1K vistas10 diapositivas
Seguridad sql injection por
Seguridad   sql injectionSeguridad   sql injection
Seguridad sql injectionGary Briceño
1.1K vistas18 diapositivas
Software para android por
Software para androidSoftware para android
Software para androidGary Briceño
482 vistas10 diapositivas
Gary Briceño por
Gary BriceñoGary Briceño
Gary BriceñoGary Briceño
381 vistas3 diapositivas

Más de Gary Briceño(14)

Git - Iniciando la Administración de Contenidos por Gary Briceño
Git - Iniciando la Administración de ContenidosGit - Iniciando la Administración de Contenidos
Git - Iniciando la Administración de Contenidos
Gary Briceño100 vistas
Curso de Scala: Trabajando con variables por Gary Briceño
Curso de Scala: Trabajando con variablesCurso de Scala: Trabajando con variables
Curso de Scala: Trabajando con variables
Gary Briceño2.6K vistas
Kanban principio de visualizacion por Gary Briceño
Kanban   principio de visualizacionKanban   principio de visualizacion
Kanban principio de visualizacion
Gary Briceño1.1K vistas
Seguridad sql injection por Gary Briceño
Seguridad   sql injectionSeguridad   sql injection
Seguridad sql injection
Gary Briceño1.1K vistas
CAP 4: SEO - Optimizacion de Contenido por Gary Briceño
CAP 4: SEO - Optimizacion de ContenidoCAP 4: SEO - Optimizacion de Contenido
CAP 4: SEO - Optimizacion de Contenido
Gary Briceño3.2K vistas
CAP 3: SEO - Keywords Research por Gary Briceño
CAP 3: SEO - Keywords ResearchCAP 3: SEO - Keywords Research
CAP 3: SEO - Keywords Research
Gary Briceño3.5K vistas
CAP 2: SEO - Técnicas de SEO por Gary Briceño
CAP 2: SEO - Técnicas de SEOCAP 2: SEO - Técnicas de SEO
CAP 2: SEO - Técnicas de SEO
Gary Briceño1.5K vistas
CAP 1: SEO - Introduccion al marketing de buscadores por Gary Briceño
CAP 1: SEO - Introduccion al marketing de buscadoresCAP 1: SEO - Introduccion al marketing de buscadores
CAP 1: SEO - Introduccion al marketing de buscadores
Gary Briceño2K vistas
Instalando Android SDK por Gary Briceño
Instalando Android SDKInstalando Android SDK
Instalando Android SDK
Gary Briceño3.7K vistas

Último

proyecto lavadora.pdf por
proyecto  lavadora.pdfproyecto  lavadora.pdf
proyecto lavadora.pdfCamilaCordoba30
11 vistas5 diapositivas
fundamentosdeelectricidadyelectronica-231021044044-6e7cadfc.pdf por
fundamentosdeelectricidadyelectronica-231021044044-6e7cadfc.pdffundamentosdeelectricidadyelectronica-231021044044-6e7cadfc.pdf
fundamentosdeelectricidadyelectronica-231021044044-6e7cadfc.pdf8m6zpwytgs
8 vistas20 diapositivas
Las Tecnologías de la Información y la Comunicación en la Escuela por
Las Tecnologías de la Información y la Comunicación en la EscuelaLas Tecnologías de la Información y la Comunicación en la Escuela
Las Tecnologías de la Información y la Comunicación en la Escuelaandresbenavides012
10 vistas235 diapositivas
Rol de la ciencia y tecnología en la dinámica social.pdf por
Rol de la ciencia y tecnología en la dinámica social.pdfRol de la ciencia y tecnología en la dinámica social.pdf
Rol de la ciencia y tecnología en la dinámica social.pdfwilfredomarmolteran
6 vistas2 diapositivas
PRESENTACION DE FC.pptx por
PRESENTACION DE FC.pptxPRESENTACION DE FC.pptx
PRESENTACION DE FC.pptxGabrielRivas75
5 vistas5 diapositivas
Recusos Multimedia y Wed 2.0.pptx por
Recusos Multimedia  y Wed 2.0.pptxRecusos Multimedia  y Wed 2.0.pptx
Recusos Multimedia y Wed 2.0.pptxhenryruidiaz
5 vistas12 diapositivas

Último(20)

fundamentosdeelectricidadyelectronica-231021044044-6e7cadfc.pdf por 8m6zpwytgs
fundamentosdeelectricidadyelectronica-231021044044-6e7cadfc.pdffundamentosdeelectricidadyelectronica-231021044044-6e7cadfc.pdf
fundamentosdeelectricidadyelectronica-231021044044-6e7cadfc.pdf
8m6zpwytgs8 vistas
Las Tecnologías de la Información y la Comunicación en la Escuela por andresbenavides012
Las Tecnologías de la Información y la Comunicación en la EscuelaLas Tecnologías de la Información y la Comunicación en la Escuela
Las Tecnologías de la Información y la Comunicación en la Escuela
andresbenavides01210 vistas
Rol de la ciencia y tecnología en la dinámica social.pdf por wilfredomarmolteran
Rol de la ciencia y tecnología en la dinámica social.pdfRol de la ciencia y tecnología en la dinámica social.pdf
Rol de la ciencia y tecnología en la dinámica social.pdf
Recusos Multimedia y Wed 2.0.pptx por henryruidiaz
Recusos Multimedia  y Wed 2.0.pptxRecusos Multimedia  y Wed 2.0.pptx
Recusos Multimedia y Wed 2.0.pptx
henryruidiaz5 vistas
Fundamentos De Electricidad y Electrónica equipo 5.pdf por coloradxmaria
Fundamentos De Electricidad y Electrónica equipo 5.pdfFundamentos De Electricidad y Electrónica equipo 5.pdf
Fundamentos De Electricidad y Electrónica equipo 5.pdf
coloradxmaria12 vistas
electricidadyelectrnica1-230404014355-1be10cf7.docx por NyobeMahechaDvila
electricidadyelectrnica1-230404014355-1be10cf7.docxelectricidadyelectrnica1-230404014355-1be10cf7.docx
electricidadyelectrnica1-230404014355-1be10cf7.docx
NyobeMahechaDvila18 vistas
excelavanzado1-231020003159-be608ddc.pdf por sarahloradorado
excelavanzado1-231020003159-be608ddc.pdfexcelavanzado1-231020003159-be608ddc.pdf
excelavanzado1-231020003159-be608ddc.pdf
sarahloradorado11 vistas
Excel avanzado.docx por Xian11
Excel avanzado.docxExcel avanzado.docx
Excel avanzado.docx
Xian117 vistas
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real... por codertectura
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
codertectura56 vistas
Google alternativo, para volar por corpbracat
Google alternativo, para volarGoogle alternativo, para volar
Google alternativo, para volar
corpbracat8 vistas
Probando aplicaciones basadas en LLMs.pdf por Federico Toledo
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
Federico Toledo44 vistas
PostCall: Encuestas telefónicas post llamada por OpenDireito
PostCall: Encuestas telefónicas post llamadaPostCall: Encuestas telefónicas post llamada
PostCall: Encuestas telefónicas post llamada
OpenDireito6 vistas
Tema 3. Fuentes de Energía no renovables.ppt por AlmuPe
Tema 3. Fuentes de Energía no renovables.pptTema 3. Fuentes de Energía no renovables.ppt
Tema 3. Fuentes de Energía no renovables.ppt
AlmuPe171 vistas

JavaScript: Mejorando la programación

  • 1. JavaScript Elaborado por: Gary Briceño http://gary.pe
  • 2. Browser y S.O. •Las expectativas y necesidades de la audiencia objetivo •El porcentaje de mercado del browser •El trabajo necesario para soportar un determinado browser
  • 4. Beneficios vs Costo en entorno Mobile
  • 5. Buenas practicas • Pruebas assert ( condición, mensaje ) assert ( a == 1, ‘ Problemas, a no es 1’ ) • Análisis start = new Date().getTime(); for (var n = 0; n < maxCount; n++) { /* perform the operation to be measured *// } elapsed = new Date().getTime() - start; assert(true,"Measured time: " + elapsed) • Habilidades de depuración
  • 7. Herramientas de depuración • Firebug una extensión de Firefox • IE developer Tools, incluido desde la versión 8 • Opera Dragonfly, incluido en Opera 9.5 • WebKit Developer Tools, incluido en Safari 3 y ahora disponible en Chrome.
  • 9. Logging Cross - Browser Mayor información: http://patik.com/blog/complete-cross-browser-console-log/
  • 10. Puntos de interrupción: Breakpoints • Más complejo que el simple registro • Detiene la ejecución del script en un punto determinado • Permite revisar el estado de las variables en un determinado punto
  • 12. Uso de Breakpoints en Firefox
  • 13. Generación de Pruebas • Buenas pruebas generan buen código. • Repetibles – Se deben ejecutar continuamente y producir el mismo resultado • Simples – Defe enfocarse en probar una idea • Independientes – Debe ser probado en forma aislada
  • 14. Frameworks de prueba • Características – Habilidad de simular el comportamiento del browser – Control interactivo de la prueba ( pausa y continuar ) – Manejo de pruebas asíncronas – Habilidad de determinar que pruebas se realizaran
  • 15. Uso de frameworks de prueba Fuente: https://spreadsheets.google.com/pub?key=ry8NZN4-Ktao1Rcwae-9Ljw&output=html