SlideShare una empresa de Scribd logo
1 de 32
Automatización de pruebas con
Selenium, Typescript, Protractor &
Cucumber
Presenta:
Gilberto Sánchez Mares
Hola!
Mi nombre es Gilberto Sanchez
Estoy aquí porque soy un profesional apasionado
por los temas de QA y Testing.
Puedes encontrarme en:
gilberto.sanchez@titaniumsolutions.org
Contenido
1. Beneficios de la automatización de pruebas
2. Introducción a Selenium
3. ¿Qué es TypeScript?
4. Protractor, ¿amigo o enemigo?
5. Behavior Driven Development con Cucumber
6. Demo
Beneficios de la
Automatización de
Pruebas1
Pruebas Automatizadas
Realizar pruebas automatizadas significa
utilizar una herramienta de
automatización para ejecutar una suite
de casos de prueba.
El software de automatización también
puede introducir datos de prueba en el
sistema bajo prueba, comparar los
resultados esperados y reales y generar
informes de prueba detallados.
“Objetivo de la automatización es reducir el número de
casos de prueba que se ejecutan manualmente y no
eliminar la prueba manual”
Beneficios de Automatizar
▪ La prueba manual de todos los flujos de trabajo, todos los campos, los escenarios
negativos, etc. es tiempo y costo.
▪ Es difícil probar sitios multilingües manualmente.
▪ La automatización no requiere intervención humana. Puede ejecutar la prueba
automatizada desatendida.
▪ La automatización aumenta la velocidad de ejecución de la prueba.
▪ La automatización ayuda a aumentar la cobertura de la prueba.
▪ Las pruebas manuales pueden llegar a ser aburridas y, por lo tanto, propensas a errores.
Introducción a
Selenium2
¿Qué es Selenium?
Selenium es una suite de prueba automatizada gratuita
y de código abierto para aplicaciones web en diferentes
navegadores y plataformas
“Selenium removes
Mercury from the body”
Selenium Suite
01
IDE
Integrated
Development
Environment
02 RC
Remote Control
03 WebDriver
04 Grid
¿Qué es TypeScript?3
TypeScript es un superset hecho por Microsoft el cual tiene una
sintaxis muy intuitiva y que nos recuerda a otros lenguajes orientados
a objetos
TypeScript a JavaScript
TypeScript convierte su código en Javascript común
ya que cuenta con un 'transpiler' que convierte todo
ese código a JavaScript e inclusive puede elegir entre
ES2015 o ES2016.
Es llamado también Superset de Javascript, lo que
significa que si el navegador está basado en
Javascript, este nunca llegará a saber que el código
original fue realizado con TypeScript y ejecutará el
Javascript como lenguaje original.
¿Qué es un superset?
Se trata de un lenguaje escrito sobre otro lenguaje. En este
caso Typescript es un lenguaje basado en JavaScript,
ofreciéndonos grandes beneficios.
Mientras otros superset de JavaScript (Elm, PureScript,
CoffeScript) nos alejan del código original, Typescript, por
el contrario, es muy similar a Javascript y a C# gracias a
que el arquitecto Anders Hejlsberg posee conocimientos
de ambos lenguajes
TypeScript, el Superset
¿Porqué TypeScript?
▪ TypeScript es verdaderamente orientado a objetos, trayendo herramientas como la
herencia, sobrecarga, etc.
▪ Es de tipado estático, este tipado estático es opcional, pero obviamente su uso es muy
recomendado.
▪ Se tienen las herramientas de Javascript ES6 (EcmaScript 6) y muchas de la futura
especificación ES7.
▪ Es de fácil mantenimiento.
▪ Tiene soporte multi plataforma.
¿Porqué TypeScript?
Protractor, ¿Amigo o
Enemigo?
4
Protractor es un framework para pruebas E2E diseñado para evaluar
aplicaciones escritas en AngularJS. No esta límitado a este framework
partícular, y es capaz de evaluar cualquier aplicación que se ejecute en un
navegador web
Características
▪ Está construido sobre WebDriverJS, que usa eventos nativos y controladores específicos
del navegador para interactuar con su aplicación como lo haría un usuario.
▪ Introduce una nueva sintaxis sencilla para los casos de prueba.
▪ Es una aplicación escrita en NodeJS.
▪ Las aplicaciones AngularJS son dínamicas, pero protractor se encarga de la sincronización.
▪ Interactúa con varios frameworks de pruebas unitarias automatizadas como Jasmie o
Mocha.
Ejemplo
Configuración Test
Behavior Driven
Development con
Cucumber5
¿Qué es BDD?
▪ Aplicar el principio "Cinco ¿por qué?" a cada historia de usuario propuesta, de modo que
su propósito esté claramente relacionado con los resultados comerciales.
▪ Implementar solo aquellos comportamientos que contribuyen más directamente a estos
resultados comerciales, a fin de minimizar el desperdicio.
▪ Describir comportamientos en una sola notación que sea directamente accesible para los
expertos del negocio, testers y desarrolladores, a fin de mejorar la comunicación.
▪ Aplicar estas técnicas hasta los niveles más bajos de abstracción del software.
Es una síntesis y refinamiento de las prácticas derivadas del Test-Driven Development (TDD)
y Acceptance Test-Driven Development (ATDD).
¿Qué es Cucumber?
es una herramienta de software para ejecuta pruebas
de aceptación automatizados escritas en un estilo
Behavior-Driven development (BDD)
Reduciendo la Brecha de
Cominicación
Business, cliente,
stakeholders
Equipo de
Desarrollo
Caracterísiticas
▪ Escribir pruebas que el negocio puede entender fácilmente.
▪ Mejor comunicación entre el equipo de negocio y desarrollo.
▪ Lenguaje común hablado (sin código), ejemplo: Inglés, francés, etc.
▪ Generalmente no técnico.
▪ Combina la especificación y la documentación de prueba en un todo.
▪ Asegura de cubrir diferentes escenarios.
▪ Se utiliza con cualquier tipo de prueba, no sólo de UI.
Cucumber y Selenium
Given I’m on the home page
When I choose more info
Then I should be taken to new page
WebDriver API
Go to … / home
Click more info link
Get browser URL
Estilos de Automatización
Declarative
Style
Code Style
Imperative
Style
Más detallado
Cercano a los
desarrolladores
Estilos de Automatización
Declarative
Style
Code Style
Imperative
Style
Más detallado
Cercano al negocio
Estilos de Automatización
Declarative
Style
Code Style
Imperative
Style
Menos detallado
El más cercano al negocio
Menos técnico
Demo
6
Gracias!
¿Alguna Pregunta?
@GilbertoSnchezM
Titanuim Solutions
Gilberto Sánchez Mares
Gilberto Sánchez Mares
gilberto.sanchez@titaniumsolutions.org
https://titaniumsolutions.org/
gilberto_gsm@hotmail.com

Más contenido relacionado

La actualidad más candente

15 metodologia web qem
15 metodologia web qem15 metodologia web qem
15 metodologia web qemUVM
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientosalmarza1
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808slovejoy
 
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...Jesús Navarro
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual TestingHiral Gosani
 
EstáNdares De Calidad Aplicadas Al Software
EstáNdares De Calidad Aplicadas Al SoftwareEstáNdares De Calidad Aplicadas Al Software
EstáNdares De Calidad Aplicadas Al Softwareeduardo89
 
Process Validation Master Planning DMAIC Fusion
Process Validation Master Planning DMAIC FusionProcess Validation Master Planning DMAIC Fusion
Process Validation Master Planning DMAIC FusionGENEO
 
Tsp (Team Software Process )
Tsp (Team Software Process )Tsp (Team Software Process )
Tsp (Team Software Process )silviachmn
 
General Principals Of Software Validation
General Principals Of Software ValidationGeneral Principals Of Software Validation
General Principals Of Software Validationstaciemarotta
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del softwareaagalvisg
 
Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1Vanessa Toral Yépez
 
ISO-13485-2016.pptx
ISO-13485-2016.pptxISO-13485-2016.pptx
ISO-13485-2016.pptxPradeepa J
 

La actualidad más candente (20)

15 metodologia web qem
15 metodologia web qem15 metodologia web qem
15 metodologia web qem
 
Alcance Del Sistema
Alcance Del SistemaAlcance Del Sistema
Alcance Del Sistema
 
Importancia del análisis de requerimientos
Importancia del análisis de requerimientosImportancia del análisis de requerimientos
Importancia del análisis de requerimientos
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
 
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 
Metodología de auditoría informática
Metodología de auditoría informáticaMetodología de auditoría informática
Metodología de auditoría informática
 
EstáNdares De Calidad Aplicadas Al Software
EstáNdares De Calidad Aplicadas Al SoftwareEstáNdares De Calidad Aplicadas Al Software
EstáNdares De Calidad Aplicadas Al Software
 
Process Validation Master Planning DMAIC Fusion
Process Validation Master Planning DMAIC FusionProcess Validation Master Planning DMAIC Fusion
Process Validation Master Planning DMAIC Fusion
 
Tsp (Team Software Process )
Tsp (Team Software Process )Tsp (Team Software Process )
Tsp (Team Software Process )
 
General Principals Of Software Validation
General Principals Of Software ValidationGeneral Principals Of Software Validation
General Principals Of Software Validation
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1
 
ISO13485.ppt
ISO13485.pptISO13485.ppt
ISO13485.ppt
 
Presentación de Scrum en 15 mins
Presentación de Scrum en 15 minsPresentación de Scrum en 15 mins
Presentación de Scrum en 15 mins
 
Introducción al Marco de Trabajo Scrum
Introducción al Marco de Trabajo ScrumIntroducción al Marco de Trabajo Scrum
Introducción al Marco de Trabajo Scrum
 
02.Clase metodologia de auditoria ti
02.Clase metodologia de auditoria ti02.Clase metodologia de auditoria ti
02.Clase metodologia de auditoria ti
 
Ieee12207
Ieee12207Ieee12207
Ieee12207
 
ISO-13485-2016.pptx
ISO-13485-2016.pptxISO-13485-2016.pptx
ISO-13485-2016.pptx
 
Metodología scrum
Metodología scrumMetodología scrum
Metodología scrum
 

Similar a Automatización de pruebas con Selenium, Typescript, Protractor & Cucumber

Desarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agilesDesarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agilesJobsket
 
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 SeleniumSoftware Guru
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetseusonlito
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 
15 Upm Solo Pruebas 2009
15 Upm Solo Pruebas 200915 Upm Solo Pruebas 2009
15 Upm Solo Pruebas 2009Pepe
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareMiguel Sanchez
 
Charla Evento TestingUY 2016 - Automatización en Ruby 101
Charla Evento TestingUY 2016 - Automatización en Ruby 101Charla Evento TestingUY 2016 - Automatización en Ruby 101
Charla Evento TestingUY 2016 - Automatización en Ruby 101TestingUy
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasRodrigo Corral
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesIván Campaña Naranjo
 
Insight Brou 2009 11 Encuentro Usr Rational Gur07
Insight Brou 2009 11   Encuentro Usr Rational Gur07Insight Brou 2009 11   Encuentro Usr Rational Gur07
Insight Brou 2009 11 Encuentro Usr Rational Gur07Irene Pazos Viana
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria
 
Modelos del proceso de software_GRUPO3_INF162
Modelos del proceso de software_GRUPO3_INF162Modelos del proceso de software_GRUPO3_INF162
Modelos del proceso de software_GRUPO3_INF162Sharon Calcina
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancewill2294
 
Unidad I - Desarrollo rápido de software
Unidad I - Desarrollo rápido de softwareUnidad I - Desarrollo rápido de software
Unidad I - Desarrollo rápido de softwareAlejandro Flores
 

Similar a Automatización de pruebas con Selenium, Typescript, Protractor & Cucumber (20)

Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Desarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agilesDesarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agiles
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
GENEX
GENEXGENEX
GENEX
 
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
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnets
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
15 Upm Solo Pruebas 2009
15 Upm Solo Pruebas 200915 Upm Solo Pruebas 2009
15 Upm Solo Pruebas 2009
 
TDD talk
TDD talkTDD talk
TDD talk
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
 
Charla Evento TestingUY 2016 - Automatización en Ruby 101
Charla Evento TestingUY 2016 - Automatización en Ruby 101Charla Evento TestingUY 2016 - Automatización en Ruby 101
Charla Evento TestingUY 2016 - Automatización en Ruby 101
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas Prácticas
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móviles
 
Insight Brou 2009 11 Encuentro Usr Rational Gur07
Insight Brou 2009 11   Encuentro Usr Rational Gur07Insight Brou 2009 11   Encuentro Usr Rational Gur07
Insight Brou 2009 11 Encuentro Usr Rational Gur07
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
 
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
 
Modelos del proceso de software_GRUPO3_INF162
Modelos del proceso de software_GRUPO3_INF162Modelos del proceso de software_GRUPO3_INF162
Modelos del proceso de software_GRUPO3_INF162
 
Modelos del proceso de software
Modelos del proceso de softwareModelos del proceso de software
Modelos del proceso de software
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Unidad I - Desarrollo rápido de software
Unidad I - Desarrollo rápido de softwareUnidad I - Desarrollo rápido de software
Unidad I - Desarrollo rápido de software
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
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 UninoveFagnerLisboa3
 
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 FabricKeyla Dolores Méndez
 
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)GDGSucre
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
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.pptx241521559
 
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 JosephBRAYANJOSEPHPEREZGOM
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
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íassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (19)

Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .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
 
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
 
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)
 
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...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
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
 
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
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
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
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Automatización de pruebas con Selenium, Typescript, Protractor & Cucumber

  • 1. Automatización de pruebas con Selenium, Typescript, Protractor & Cucumber Presenta: Gilberto Sánchez Mares
  • 2. Hola! Mi nombre es Gilberto Sanchez Estoy aquí porque soy un profesional apasionado por los temas de QA y Testing. Puedes encontrarme en: gilberto.sanchez@titaniumsolutions.org
  • 3. Contenido 1. Beneficios de la automatización de pruebas 2. Introducción a Selenium 3. ¿Qué es TypeScript? 4. Protractor, ¿amigo o enemigo? 5. Behavior Driven Development con Cucumber 6. Demo
  • 5. Pruebas Automatizadas Realizar pruebas automatizadas significa utilizar una herramienta de automatización para ejecutar una suite de casos de prueba. El software de automatización también puede introducir datos de prueba en el sistema bajo prueba, comparar los resultados esperados y reales y generar informes de prueba detallados.
  • 6. “Objetivo de la automatización es reducir el número de casos de prueba que se ejecutan manualmente y no eliminar la prueba manual”
  • 7. Beneficios de Automatizar ▪ La prueba manual de todos los flujos de trabajo, todos los campos, los escenarios negativos, etc. es tiempo y costo. ▪ Es difícil probar sitios multilingües manualmente. ▪ La automatización no requiere intervención humana. Puede ejecutar la prueba automatizada desatendida. ▪ La automatización aumenta la velocidad de ejecución de la prueba. ▪ La automatización ayuda a aumentar la cobertura de la prueba. ▪ Las pruebas manuales pueden llegar a ser aburridas y, por lo tanto, propensas a errores.
  • 9. ¿Qué es Selenium? Selenium es una suite de prueba automatizada gratuita y de código abierto para aplicaciones web en diferentes navegadores y plataformas
  • 13. TypeScript es un superset hecho por Microsoft el cual tiene una sintaxis muy intuitiva y que nos recuerda a otros lenguajes orientados a objetos
  • 14. TypeScript a JavaScript TypeScript convierte su código en Javascript común ya que cuenta con un 'transpiler' que convierte todo ese código a JavaScript e inclusive puede elegir entre ES2015 o ES2016. Es llamado también Superset de Javascript, lo que significa que si el navegador está basado en Javascript, este nunca llegará a saber que el código original fue realizado con TypeScript y ejecutará el Javascript como lenguaje original. ¿Qué es un superset? Se trata de un lenguaje escrito sobre otro lenguaje. En este caso Typescript es un lenguaje basado en JavaScript, ofreciéndonos grandes beneficios. Mientras otros superset de JavaScript (Elm, PureScript, CoffeScript) nos alejan del código original, Typescript, por el contrario, es muy similar a Javascript y a C# gracias a que el arquitecto Anders Hejlsberg posee conocimientos de ambos lenguajes TypeScript, el Superset
  • 15. ¿Porqué TypeScript? ▪ TypeScript es verdaderamente orientado a objetos, trayendo herramientas como la herencia, sobrecarga, etc. ▪ Es de tipado estático, este tipado estático es opcional, pero obviamente su uso es muy recomendado. ▪ Se tienen las herramientas de Javascript ES6 (EcmaScript 6) y muchas de la futura especificación ES7. ▪ Es de fácil mantenimiento. ▪ Tiene soporte multi plataforma.
  • 18. Protractor es un framework para pruebas E2E diseñado para evaluar aplicaciones escritas en AngularJS. No esta límitado a este framework partícular, y es capaz de evaluar cualquier aplicación que se ejecute en un navegador web
  • 19. Características ▪ Está construido sobre WebDriverJS, que usa eventos nativos y controladores específicos del navegador para interactuar con su aplicación como lo haría un usuario. ▪ Introduce una nueva sintaxis sencilla para los casos de prueba. ▪ Es una aplicación escrita en NodeJS. ▪ Las aplicaciones AngularJS son dínamicas, pero protractor se encarga de la sincronización. ▪ Interactúa con varios frameworks de pruebas unitarias automatizadas como Jasmie o Mocha.
  • 22. ¿Qué es BDD? ▪ Aplicar el principio "Cinco ¿por qué?" a cada historia de usuario propuesta, de modo que su propósito esté claramente relacionado con los resultados comerciales. ▪ Implementar solo aquellos comportamientos que contribuyen más directamente a estos resultados comerciales, a fin de minimizar el desperdicio. ▪ Describir comportamientos en una sola notación que sea directamente accesible para los expertos del negocio, testers y desarrolladores, a fin de mejorar la comunicación. ▪ Aplicar estas técnicas hasta los niveles más bajos de abstracción del software. Es una síntesis y refinamiento de las prácticas derivadas del Test-Driven Development (TDD) y Acceptance Test-Driven Development (ATDD).
  • 23. ¿Qué es Cucumber? es una herramienta de software para ejecuta pruebas de aceptación automatizados escritas en un estilo Behavior-Driven development (BDD)
  • 24. Reduciendo la Brecha de Cominicación Business, cliente, stakeholders Equipo de Desarrollo
  • 25. Caracterísiticas ▪ Escribir pruebas que el negocio puede entender fácilmente. ▪ Mejor comunicación entre el equipo de negocio y desarrollo. ▪ Lenguaje común hablado (sin código), ejemplo: Inglés, francés, etc. ▪ Generalmente no técnico. ▪ Combina la especificación y la documentación de prueba en un todo. ▪ Asegura de cubrir diferentes escenarios. ▪ Se utiliza con cualquier tipo de prueba, no sólo de UI.
  • 26. Cucumber y Selenium Given I’m on the home page When I choose more info Then I should be taken to new page WebDriver API Go to … / home Click more info link Get browser URL
  • 27. Estilos de Automatización Declarative Style Code Style Imperative Style Más detallado Cercano a los desarrolladores
  • 28. Estilos de Automatización Declarative Style Code Style Imperative Style Más detallado Cercano al negocio
  • 29. Estilos de Automatización Declarative Style Code Style Imperative Style Menos detallado El más cercano al negocio Menos técnico
  • 32. @GilbertoSnchezM Titanuim Solutions Gilberto Sánchez Mares Gilberto Sánchez Mares gilberto.sanchez@titaniumsolutions.org https://titaniumsolutions.org/ gilberto_gsm@hotmail.com