SlideShare una empresa de Scribd logo
1 de 74
Noviembre 2015, Lima, Perú
TESTING
Automatización y Performance
Herramientas para optimizar tiempos y
garantizar calidad.
PhD. Federico Toledo
federico.toledo@abstracta.com.uy
Twitter: @fltoledo
Perú 2010 - 2015
Historia Global y Local
Noviembre 2015
¿Quiénes somos en el Perú y resto de la región?
Fundada en el año 1986 en Argentina y desde el año 2010 en el Perú
Casi 500 profesionales de IT en total, en el Perú más de 60 y creciendo día a día
Más de 9 millones de horas empleadas en la actividad
Más de 50 bancos, compañías e industrias líderes en la región nos eligieron
Oficina en Lima ubicada en el centro financiero de la ciudad
Presencia internacional en seis países:
Argentina – Chile – España – México – Perú - Uruguay
3
Nuestra historia
4
Creación de la
empresa
Primera Sede
nacional en Arg
Renovamos la
marca
Primera Software
Factory
Apertura Sede
México
ISO 9001
Certificaciones
Internacionales
Apertura Chile
Apertura Sede
Perú
Apertura
Sede
España
Sede Corporativa
en Bs.As
Nuestros Clientes en el área de Desarrollo de SW
5
Servicios Clientes
Desarrollo y
Mantenimiento de
Sistemas
Software Factories
Nuestros Clientes en el área de Calidad de SW
6
Servicios Clientes
Testing Funcional,
Regresión
Testing Automatizado,
Stress
Una breve presentación
bit.do/librodetesting
Community
+270
+180 www.meetup.com/Testing-Uy
www.testing.uy
+100 Charlas, cursos, papers, artículos…
blog.abstracta.com.uy
+5000 visitas
mensuales
www.nahual.uy
+15 colaboradores
3 chicos trabajando
+30 formados
¿Por qué trabajas en testing?
¿No conseguiste otra cosa mejor?
Prejuicios del testing:
• Es aburrido
• Es repetitivo
• No tiene desafíos
• Es el trabajo para el
programador nuevo
#TestingRocks
Hablemos de…
• Performance testing
– Del lado del cliente
– Del lado del servidor
• Pruebas automáticas de regresión
– Para garantizar la calidad
Usuarios acostumbrados a usar el celular en todo
momento y a exigir cada vez más velocidad, usabilidad,
etc.
Los usuarios afectan el mercado, comentarios y
calificaciones en GooglePlay o AppStore.
Performance
• +60% de los problemas de las apps que fracasan
son de performance.
• Gold Standard era 6s, luego 3s, Google apunta a
1s.
• El usuario espera que en su celular funcione mejor
que en us PC.
Performance
• Computer performance is
characterized by the amount of useful
work accomplished by a computer
system compared to the time and
resources used.
• Requisito “no funcional” del sistema
Y si no hay performance,
¿qué pasa?
El trabajo equivocado…
Las soluciones equivocadas
• ¡¡Más hardware!!
Pruebas de performance
Cómo ayudamos:
– Simular situaciones de carga para conocer el desempeño del sistema del lado del
servidor
– Analizar oportunidades de mejora
• Optimizaciones
• Mejoras, cambios, ajustes
Para qué:
– Verificar si el sistema soporta la carga esperada
– Verificar si se cumplen acuerdos de nivel de servicio (SLA)
– Detectar errores u oportunidades de mejora, que solamente son observables ante
la concurrencia
– Detectar bottle-necks
Objetivo:
– Asegurar satisfacción de los usuarios
¿Qué buscamos?
• El objetivo de la ejecución en
gran parte es buscar los
bottlenecks para mejorar el
mejorar el sistema
Las dos caras
Performance – Client Side
• Webapp
– PageSpeed Insights
developers.google.com/speed/pagespeed/insights
– Webpage Test www.webpagetest.org
– SiteSpeed run.sitespeed.io
– Yslow www.yslow.org
• Mobile Nativa
– Monkop www.monkop.com
¿Qué aplicación probamos?
• Necesito un conejillo de indias
• ¿Quién se anima a prestar su aplicación
para la demo?
• Sitios más visitados en Perú
– Sacando Facebook, Youtube, Google, porno
y otros
• http://elcomercio.pe
• http://www.sunat.gob.pe
PageSpeed Insights
Performance y
usabilidad.
Información para
optimización del lado
del cliente:
Web desktop
Mobile
Basado en “best-
practices”.
PageSpeed Insights
PageSpeed Insights
PageSpeed Insights
• Luego nos plantea cómo solucionarlo:
Optimizar tráfico
Performance – Client Side
• Webapp
– PageSpeed Insights
developers.google.com/speed/pagespeed/insights
– Webpage Test www.webpagetest.org
– SiteSpeed run.sitespeed.io
– Yslow www.yslow.org
• Mobile Nativa
– Monkop www.monkop.com
by
Monkop
Monkop
Monkop
Explorando la app de FIFA
Explorando otras aplicaciones
Encuentro GeneXus Marca Fotocasa La Liga VivaVideo
Monkop
Reporte de ejemplo: https://goo.gl/bMf46T
Las dos caras
¿Cómo hacerlo?
Tipos de pruebas de performance
• Pruebas de carga (load test)
• Pruebas de estrés (stress test)
• Pruebas de resistencia (endurance test)
• Otras
– Pruebas de escalabilidad
– Pruebas de picos
Load test
Stress test
Endurance
Scalability
Performance – Server Side
¿Cómo simulamos el uso real del sistema?
– Manualmente
– Usando herramientas
• Conceptos importantes
– Simulación de carga
– Concurrencia
– Usuarios virtuales
Servidor Web
ModellerModeller
¿Cómo se prepara un
UV?
Http - RequestHttp - Responsegrabar
1
Seabre
1.1
Se
abre
1.2
Acciones
2
Terminar de grabar
3
3.1
Tenemos el script
Gateway
(Proxy)
Browser
Http - Request
Http - Response
Http - Request
Http - Response
BlazeMeter
• https://blazemeter.com
– URL
– Prueba de JMeter
– Prueba de Webdriver (Selenium)
Ejecución – Plan de
Pruebas
• BaseLine
– Mejor tiempo posible
– Iterativo para tener datos estadísticos
• Escenario
– Incremental
– Comenzar con un 20% de la carga
– Escalar hasta llegar al 100%
Servidor WebServidor Web
Servidor WebServidor Web
Herramientas de
Generación de carga
• “La herramienta no hace al tester”
“Enterprise grade load generation tools are designed to look easy in
to look easy in sales demos. Don’t be fooled.”
Scott Barber
AUTOMATIZACIÓN DE
PRUEBAS FUNCIONALES
Automatizar ejecución de pruebas
Lograr que los casos de prueba sean ejecutados por
una máquina
• Aumentar la cobertura de pruebas y calidad del
producto
• Reducir tiempos de ejecución y salida al mercado
• Ejecución en distintos ambientes
• El trabajo queda documentado en los scripts de
prueba
Beneficios
• Los resultados quedan registrados y nos sirven
para tomar decisiones
• Detección temprana de errores
• Reducir el costo total de la aplicación
• Apoyo y motivación al equipo manual para pensar
en pruebas alternativas
Beneficios
¿Cómo automatizar?
• Se debe utilizar una herramienta
• Algunos conceptos importantes
–Record & Playback
–Data-Driven Testing
–Page Object
–Model-Based Testing
Selenium
• Record and Playback
• User interface level automation
Cómo funciona Selenium
Tester / User
SUT: System Under Test
Manual Test Case
Execution
Como funciona Selenium
Functional
Test Scripts
Selenium captura
las interacciones del
usuario
Tester / User
Ejecuta y reporta
SUT: System Under Test
Manual Test Case
Execution
Esto es record and playback!
Data-driven con Selenium
• Distintas dimensiones para aprovechar:
Tiempo
Plataformas
Datos
¿Beneficios solo a largo plazo?
Framework Xtest
Xtest
GXtest ASPXtest BTtest Selenium …
• Automatizar el caos, solo traerá más caos más rápido.
• Las herramientas NO piensan.
– Lo bueno es que siempre ejecutan lo mismo.
– Lo malo es que siempre ejecutan lo mismo.
• Priorizar, seleccionar y diseñar las pruebas pensando
en automatizarlas.
¡Cuidado!
¿Qué formas hay de
automatizar?
• Se puede automatizar en distintos niveles:
– A nivel de código: pruebas unitarias, invocando
invocando directamente métodos de clases del sistema.
– A nivel de Componentes o Servicios: pueden ser a
pueden ser a nivel de interfaces de los controllers, WS,
etc.
– A nivel de Sistema (o End-to-End): desde la interfaz
la interfaz gráfica.
¿Cómo debería ser?
Pirámide de Cohn
Más info:
http://abstracta.us/2015/10/26/best-testing-practices-
for-agile-teams-the-automation-pyramid/
¿Cómo se suele hacer?
• Antipatrón del Cono de
Helado
¿Cómo debería ser?
Casos de prueba
Exploratorio
1 hora
2 horas
Resumen
Servidor WebServidor Web
Servidor Web
ToolTool
Grabar
1
Seabre
1.1
Se
abre
1.2
Acciones
2
Terminar de grabar
3
3.1
Tenemos el script
GatewayBrowser
Http - Request
Http - Response
Http - Request
Http - Response
Http - RequestHttp - Response
Introducción a las
Pruebas de Sistemas
de Información
http://blog.abstracta.com.uy/
¿Siguen pensando que el
testing es aburrido y sin
desafíos técnicos?
testing es aburrido y sin
desafíos técnicos?
PhD. Federico Toledo
federico.toledo@abstracta.com.uy
Twitter: @fltoledo
¡Gracias!
#TestingRocks
http://www.slideshare.net/FedericoToledo

Más contenido relacionado

La actualidad más candente

Los Pecados Capitales en la Automatización de Pruebas de Software.
Los Pecados Capitales en la Automatización de Pruebas de Software.Los Pecados Capitales en la Automatización de Pruebas de Software.
Los Pecados Capitales en la Automatización de Pruebas de Software.Software Guru
 
Mejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicacionesMejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicacionesSoftware Guru
 
Herramientas de testing apps android
Herramientas de testing apps androidHerramientas de testing apps android
Herramientas de testing apps androidSlashMobility.com
 
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...TestingAR Meetup
 
Verificacion --validacion
Verificacion --validacionVerificacion --validacion
Verificacion --validacioneduardoao2
 
Pruebas de aplicaciones web
Pruebas de aplicaciones webPruebas de aplicaciones web
Pruebas de aplicaciones webpaulinaaillon
 
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 Meetup
 
Testing automatizado de aplicaciones web
Testing automatizado de aplicaciones webTesting automatizado de aplicaciones web
Testing automatizado de aplicaciones webAnibal Guzmán Miranda
 
PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB YULIANA JIMENEZ
 
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 DevOpsAbel Quintana Lopez
 
Conceptos de desarrollo ágil
Conceptos de desarrollo ágilConceptos de desarrollo ágil
Conceptos de desarrollo ágilGuino Henostroza
 
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?Belatrix Software
 
Guilherme siqueira simoes sg virtual conference 2014
Guilherme siqueira simoes    sg virtual conference 2014Guilherme siqueira simoes    sg virtual conference 2014
Guilherme siqueira simoes sg virtual conference 2014Software Guru
 
Taller casos de prueba
Taller casos de pruebaTaller casos de prueba
Taller casos de pruebaAndrés Grosso
 
¿Cómo convertirse en un Tester de verdad?
¿Cómo convertirse en un Tester de verdad?¿Cómo convertirse en un Tester de verdad?
¿Cómo convertirse en un Tester de verdad?Software Guru
 
Prueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validaciónPrueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validaciónCristi Coba
 
Ejecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nubeEjecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nubeAbel Quintana Lopez
 

La actualidad más candente (20)

Los Pecados Capitales en la Automatización de Pruebas de Software.
Los Pecados Capitales en la Automatización de Pruebas de Software.Los Pecados Capitales en la Automatización de Pruebas de Software.
Los Pecados Capitales en la Automatización de Pruebas de Software.
 
Mejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicacionesMejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicaciones
 
Herramientas de testing apps android
Herramientas de testing apps androidHerramientas de testing apps android
Herramientas de testing apps android
 
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...
 
Verificacion --validacion
Verificacion --validacionVerificacion --validacion
Verificacion --validacion
 
Pruebas de aplicaciones web
Pruebas de aplicaciones webPruebas de aplicaciones web
Pruebas de aplicaciones web
 
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...
 
Automatizacion de Pruebas
Automatizacion de PruebasAutomatizacion de Pruebas
Automatizacion de Pruebas
 
Validación y Verificación de Software
Validación y Verificación de SoftwareValidación y Verificación de Software
Validación y Verificación de Software
 
Testing automatizado de aplicaciones web
Testing automatizado de aplicaciones webTesting automatizado de aplicaciones web
Testing automatizado de aplicaciones web
 
PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB
 
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
 
Conceptos de desarrollo ágil
Conceptos de desarrollo ágilConceptos de desarrollo ágil
Conceptos de desarrollo ágil
 
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?
 
Guilherme siqueira simoes sg virtual conference 2014
Guilherme siqueira simoes    sg virtual conference 2014Guilherme siqueira simoes    sg virtual conference 2014
Guilherme siqueira simoes sg virtual conference 2014
 
Taller casos de prueba
Taller casos de pruebaTaller casos de prueba
Taller casos de prueba
 
¿Cómo convertirse en un Tester de verdad?
¿Cómo convertirse en un Tester de verdad?¿Cómo convertirse en un Tester de verdad?
¿Cómo convertirse en un Tester de verdad?
 
Prueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validaciónPrueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validación
 
Ejecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nubeEjecutando pruebas automatizadas desde la nube
Ejecutando pruebas automatizadas desde la nube
 
Calidad del software cap1
Calidad del software  cap1Calidad del software  cap1
Calidad del software cap1
 

Similar a Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automático. Federico Toledo

Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
 
Argentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QAArgentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QAArgentesting
 
Evento en Córdoba 2016 - Performance de aplicaciones mobile del lado del clie...
Evento en Córdoba 2016 - Performance de aplicaciones mobile del lado del clie...Evento en Córdoba 2016 - Performance de aplicaciones mobile del lado del clie...
Evento en Córdoba 2016 - Performance de aplicaciones mobile del lado del clie...Federico Toledo
 
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu appbetabeers
 
CICLO DE VIDA DE SISTEMAS.pptx
CICLO DE VIDA DE SISTEMAS.pptxCICLO DE VIDA DE SISTEMAS.pptx
CICLO DE VIDA DE SISTEMAS.pptxWilverHancco2
 
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...Lisandra Armas
 
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...Argentesting
 
Meetup TestingUY 2016 - Pruebas de Performance durante el desarrollo o al final
Meetup TestingUY 2016 - Pruebas de Performance durante el desarrollo o al finalMeetup TestingUY 2016 - Pruebas de Performance durante el desarrollo o al final
Meetup TestingUY 2016 - Pruebas de Performance durante el desarrollo o al finalTestingUy
 
Mobile testing workshop - TechMeetup Uruguay
Mobile testing workshop - TechMeetup UruguayMobile testing workshop - TechMeetup Uruguay
Mobile testing workshop - TechMeetup UruguayFabian Baptista
 
La medición funcional de software con Scrum
La medición funcional de software con ScrumLa medición funcional de software con Scrum
La medición funcional de software con ScrumSoftware Guru
 
Observabilidad: Todo lo que hay que ver
Observabilidad: Todo lo que hay que verObservabilidad: Todo lo que hay que ver
Observabilidad: Todo lo que hay que verSoftware Guru
 
La medición funcional de software con SCRUM
La medición funcional de software con SCRUMLa medición funcional de software con SCRUM
La medición funcional de software con SCRUMSoftware Guru
 
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasTesting de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasBelatrix Software
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seoDigital Growth
 

Similar a Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automático. Federico Toledo (20)

Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 
Argentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QAArgentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QA
 
Evento en Córdoba 2016 - Performance de aplicaciones mobile del lado del clie...
Evento en Córdoba 2016 - Performance de aplicaciones mobile del lado del clie...Evento en Córdoba 2016 - Performance de aplicaciones mobile del lado del clie...
Evento en Córdoba 2016 - Performance de aplicaciones mobile del lado del clie...
 
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
 
ALM y Office 365
ALM y Office 365 ALM y Office 365
ALM y Office 365
 
CICLO DE VIDA DE SISTEMAS.pptx
CICLO DE VIDA DE SISTEMAS.pptxCICLO DE VIDA DE SISTEMAS.pptx
CICLO DE VIDA DE SISTEMAS.pptx
 
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
 
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
Argentesting 2018 - Usabilidad: un peldaño fundamental para el éxito o fracas...
 
Meetup TestingUY 2016 - Pruebas de Performance durante el desarrollo o al final
Meetup TestingUY 2016 - Pruebas de Performance durante el desarrollo o al finalMeetup TestingUY 2016 - Pruebas de Performance durante el desarrollo o al final
Meetup TestingUY 2016 - Pruebas de Performance durante el desarrollo o al final
 
Clase 11
Clase 11Clase 11
Clase 11
 
Mobile testing workshop - TechMeetup Uruguay
Mobile testing workshop - TechMeetup UruguayMobile testing workshop - TechMeetup Uruguay
Mobile testing workshop - TechMeetup Uruguay
 
Practico
PracticoPractico
Practico
 
Ensayo
EnsayoEnsayo
Ensayo
 
La medición funcional de software con Scrum
La medición funcional de software con ScrumLa medición funcional de software con Scrum
La medición funcional de software con Scrum
 
Observabilidad: Todo lo que hay que ver
Observabilidad: Todo lo que hay que verObservabilidad: Todo lo que hay que ver
Observabilidad: Todo lo que hay que ver
 
La medición funcional de software con SCRUM
La medición funcional de software con SCRUMLa medición funcional de software con SCRUM
La medición funcional de software con SCRUM
 
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasTesting de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
 
capitulo 2 Somerville.pptx
capitulo 2 Somerville.pptxcapitulo 2 Somerville.pptx
capitulo 2 Somerville.pptx
 
Scrum
ScrumScrum
Scrum
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seo
 

Más de Federico Toledo

Pasado, presente y futuro del testing en Latinoamérica
Pasado, presente y futuro del testing en  LatinoaméricaPasado, presente y futuro del testing en  Latinoamérica
Pasado, presente y futuro del testing en LatinoaméricaFederico Toledo
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfFederico Toledo
 
QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...Federico Toledo
 
Invitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfInvitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfFederico Toledo
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesFederico Toledo
 
How do you help motivate testers?
How do you help motivate testers?How do you help motivate testers?
How do you help motivate testers?Federico Toledo
 
Low code for test automation, state of the art
Low code for test automation, state of the artLow code for test automation, state of the art
Low code for test automation, state of the artFederico Toledo
 
¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?Federico Toledo
 
TSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyTSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyFederico Toledo
 
Comunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingComunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingFederico Toledo
 
Testing Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroTesting Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroFederico Toledo
 
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Federico Toledo
 
Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Federico Toledo
 
¿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
 
Shift left and shift right performance testing
Shift left and shift right performance testingShift left and shift right performance testing
Shift left and shift right performance testingFederico Toledo
 
Ask me anything - ReconverTIte
Ask me anything - ReconverTIteAsk me anything - ReconverTIte
Ask me anything - ReconverTIteFederico Toledo
 
Webinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceFederico Toledo
 
Webinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingWebinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingFederico Toledo
 
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileCómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileFederico Toledo
 
Neotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryNeotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryFederico Toledo
 

Más de Federico Toledo (20)

Pasado, presente y futuro del testing en Latinoamérica
Pasado, presente y futuro del testing en  LatinoaméricaPasado, presente y futuro del testing en  Latinoamérica
Pasado, presente y futuro del testing en Latinoamérica
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
 
QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...
 
Invitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfInvitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdf
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
 
How do you help motivate testers?
How do you help motivate testers?How do you help motivate testers?
How do you help motivate testers?
 
Low code for test automation, state of the art
Low code for test automation, state of the artLow code for test automation, state of the art
Low code for test automation, state of the art
 
¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?
 
TSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyTSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategy
 
Comunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingComunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en Testing
 
Testing Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroTesting Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde cero
 
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
 
Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021
 
¿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?
 
Shift left and shift right performance testing
Shift left and shift right performance testingShift left and shift right performance testing
Shift left and shift right performance testing
 
Ask me anything - ReconverTIte
Ask me anything - ReconverTIteAsk me anything - ReconverTIte
Ask me anything - ReconverTIte
 
Webinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open source
 
Webinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingWebinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testing
 
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileCómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
 
Neotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryNeotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous Delivery
 

Último

Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++luzgaray6
 
Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Leonardo J. Caballero G.
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptxmaykolmagallanes012
 
Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.CeteliInmaculada
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 

Último (6)

Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++Semana 5-Conceptualización del lenguaje de programación C++
Semana 5-Conceptualización del lenguaje de programación C++
 
Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024Introducción a Plone CMS - World Plone Day 2024
Introducción a Plone CMS - World Plone Day 2024
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 
Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptx
 
Presentación de html, css y javascript.
Presentación  de html, css y javascript.Presentación  de html, css y javascript.
Presentación de html, css y javascript.
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 

Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automático. Federico Toledo

  • 1. Noviembre 2015, Lima, Perú TESTING Automatización y Performance Herramientas para optimizar tiempos y garantizar calidad. PhD. Federico Toledo federico.toledo@abstracta.com.uy Twitter: @fltoledo
  • 2. Perú 2010 - 2015 Historia Global y Local Noviembre 2015
  • 3. ¿Quiénes somos en el Perú y resto de la región? Fundada en el año 1986 en Argentina y desde el año 2010 en el Perú Casi 500 profesionales de IT en total, en el Perú más de 60 y creciendo día a día Más de 9 millones de horas empleadas en la actividad Más de 50 bancos, compañías e industrias líderes en la región nos eligieron Oficina en Lima ubicada en el centro financiero de la ciudad Presencia internacional en seis países: Argentina – Chile – España – México – Perú - Uruguay 3
  • 4. Nuestra historia 4 Creación de la empresa Primera Sede nacional en Arg Renovamos la marca Primera Software Factory Apertura Sede México ISO 9001 Certificaciones Internacionales Apertura Chile Apertura Sede Perú Apertura Sede España Sede Corporativa en Bs.As
  • 5. Nuestros Clientes en el área de Desarrollo de SW 5 Servicios Clientes Desarrollo y Mantenimiento de Sistemas Software Factories
  • 6. Nuestros Clientes en el área de Calidad de SW 6 Servicios Clientes Testing Funcional, Regresión Testing Automatizado, Stress
  • 8. Community +270 +180 www.meetup.com/Testing-Uy www.testing.uy +100 Charlas, cursos, papers, artículos… blog.abstracta.com.uy +5000 visitas mensuales
  • 10. ¿Por qué trabajas en testing? ¿No conseguiste otra cosa mejor? Prejuicios del testing: • Es aburrido • Es repetitivo • No tiene desafíos • Es el trabajo para el programador nuevo
  • 12. Hablemos de… • Performance testing – Del lado del cliente – Del lado del servidor • Pruebas automáticas de regresión – Para garantizar la calidad
  • 13.
  • 14. Usuarios acostumbrados a usar el celular en todo momento y a exigir cada vez más velocidad, usabilidad, etc. Los usuarios afectan el mercado, comentarios y calificaciones en GooglePlay o AppStore.
  • 15. Performance • +60% de los problemas de las apps que fracasan son de performance. • Gold Standard era 6s, luego 3s, Google apunta a 1s. • El usuario espera que en su celular funcione mejor que en us PC.
  • 16. Performance • Computer performance is characterized by the amount of useful work accomplished by a computer system compared to the time and resources used. • Requisito “no funcional” del sistema
  • 17. Y si no hay performance, ¿qué pasa?
  • 19.
  • 20. Las soluciones equivocadas • ¡¡Más hardware!!
  • 21. Pruebas de performance Cómo ayudamos: – Simular situaciones de carga para conocer el desempeño del sistema del lado del servidor – Analizar oportunidades de mejora • Optimizaciones • Mejoras, cambios, ajustes Para qué: – Verificar si el sistema soporta la carga esperada – Verificar si se cumplen acuerdos de nivel de servicio (SLA) – Detectar errores u oportunidades de mejora, que solamente son observables ante la concurrencia – Detectar bottle-necks Objetivo: – Asegurar satisfacción de los usuarios
  • 22. ¿Qué buscamos? • El objetivo de la ejecución en gran parte es buscar los bottlenecks para mejorar el mejorar el sistema
  • 24. Performance – Client Side • Webapp – PageSpeed Insights developers.google.com/speed/pagespeed/insights – Webpage Test www.webpagetest.org – SiteSpeed run.sitespeed.io – Yslow www.yslow.org • Mobile Nativa – Monkop www.monkop.com
  • 25. ¿Qué aplicación probamos? • Necesito un conejillo de indias • ¿Quién se anima a prestar su aplicación para la demo? • Sitios más visitados en Perú – Sacando Facebook, Youtube, Google, porno y otros • http://elcomercio.pe • http://www.sunat.gob.pe
  • 26. PageSpeed Insights Performance y usabilidad. Información para optimización del lado del cliente: Web desktop Mobile Basado en “best- practices”.
  • 29. PageSpeed Insights • Luego nos plantea cómo solucionarlo:
  • 31. Performance – Client Side • Webapp – PageSpeed Insights developers.google.com/speed/pagespeed/insights – Webpage Test www.webpagetest.org – SiteSpeed run.sitespeed.io – Yslow www.yslow.org • Mobile Nativa – Monkop www.monkop.com
  • 32. by
  • 36. Explorando la app de FIFA
  • 37. Explorando otras aplicaciones Encuentro GeneXus Marca Fotocasa La Liga VivaVideo
  • 38. Monkop Reporte de ejemplo: https://goo.gl/bMf46T
  • 41. Tipos de pruebas de performance • Pruebas de carga (load test) • Pruebas de estrés (stress test) • Pruebas de resistencia (endurance test) • Otras – Pruebas de escalabilidad – Pruebas de picos
  • 46. Performance – Server Side ¿Cómo simulamos el uso real del sistema? – Manualmente – Usando herramientas • Conceptos importantes – Simulación de carga – Concurrencia – Usuarios virtuales
  • 47.
  • 48.
  • 49.
  • 50. Servidor Web ModellerModeller ¿Cómo se prepara un UV? Http - RequestHttp - Responsegrabar 1 Seabre 1.1 Se abre 1.2 Acciones 2 Terminar de grabar 3 3.1 Tenemos el script Gateway (Proxy) Browser Http - Request Http - Response Http - Request Http - Response
  • 51. BlazeMeter • https://blazemeter.com – URL – Prueba de JMeter – Prueba de Webdriver (Selenium)
  • 52. Ejecución – Plan de Pruebas • BaseLine – Mejor tiempo posible – Iterativo para tener datos estadísticos • Escenario – Incremental – Comenzar con un 20% de la carga – Escalar hasta llegar al 100% Servidor WebServidor Web Servidor WebServidor Web
  • 53. Herramientas de Generación de carga • “La herramienta no hace al tester” “Enterprise grade load generation tools are designed to look easy in to look easy in sales demos. Don’t be fooled.” Scott Barber
  • 55. Automatizar ejecución de pruebas Lograr que los casos de prueba sean ejecutados por una máquina
  • 56. • Aumentar la cobertura de pruebas y calidad del producto • Reducir tiempos de ejecución y salida al mercado • Ejecución en distintos ambientes • El trabajo queda documentado en los scripts de prueba Beneficios
  • 57. • Los resultados quedan registrados y nos sirven para tomar decisiones • Detección temprana de errores • Reducir el costo total de la aplicación • Apoyo y motivación al equipo manual para pensar en pruebas alternativas Beneficios
  • 58. ¿Cómo automatizar? • Se debe utilizar una herramienta • Algunos conceptos importantes –Record & Playback –Data-Driven Testing –Page Object –Model-Based Testing
  • 59. Selenium • Record and Playback • User interface level automation
  • 60. Cómo funciona Selenium Tester / User SUT: System Under Test Manual Test Case Execution
  • 61. Como funciona Selenium Functional Test Scripts Selenium captura las interacciones del usuario Tester / User Ejecuta y reporta SUT: System Under Test Manual Test Case Execution Esto es record and playback!
  • 63. • Distintas dimensiones para aprovechar: Tiempo Plataformas Datos ¿Beneficios solo a largo plazo?
  • 65. • Automatizar el caos, solo traerá más caos más rápido. • Las herramientas NO piensan. – Lo bueno es que siempre ejecutan lo mismo. – Lo malo es que siempre ejecutan lo mismo. • Priorizar, seleccionar y diseñar las pruebas pensando en automatizarlas. ¡Cuidado!
  • 66. ¿Qué formas hay de automatizar? • Se puede automatizar en distintos niveles: – A nivel de código: pruebas unitarias, invocando invocando directamente métodos de clases del sistema. – A nivel de Componentes o Servicios: pueden ser a pueden ser a nivel de interfaces de los controllers, WS, etc. – A nivel de Sistema (o End-to-End): desde la interfaz la interfaz gráfica.
  • 67. ¿Cómo debería ser? Pirámide de Cohn Más info: http://abstracta.us/2015/10/26/best-testing-practices- for-agile-teams-the-automation-pyramid/
  • 68. ¿Cómo se suele hacer? • Antipatrón del Cono de Helado
  • 69. ¿Cómo debería ser? Casos de prueba Exploratorio 1 hora 2 horas
  • 70.
  • 71. Resumen Servidor WebServidor Web Servidor Web ToolTool Grabar 1 Seabre 1.1 Se abre 1.2 Acciones 2 Terminar de grabar 3 3.1 Tenemos el script GatewayBrowser Http - Request Http - Response Http - Request Http - Response Http - RequestHttp - Response
  • 72. Introducción a las Pruebas de Sistemas de Información http://blog.abstracta.com.uy/
  • 73. ¿Siguen pensando que el testing es aburrido y sin desafíos técnicos? testing es aburrido y sin desafíos técnicos?
  • 74. PhD. Federico Toledo federico.toledo@abstracta.com.uy Twitter: @fltoledo ¡Gracias! #TestingRocks http://www.slideshare.net/FedericoToledo