SlideShare a Scribd company logo
1 of 45
Pruebas de
Performance
todos los días y a bajo
costo
PhD. Federico Toledo
@fltoledo
www.abstracta.us/blog/
www.federico-toledo.com
Prejuicios del
testing:
• Es aburrido,
repetitivo.
• No tiene desafíos.
• Es el trabajo para
el programador
nuevo.
¿Por qué trabajas en
testing?
¿No conseguiste otra
cosa mejor?
Prejuicios del testing:
• El enemigo.
• Los que rompen el
sistema.
Ahhh vos sos de los que les
gusta criticar todo…
De los que ponen palos en las
ruedas para no salir en
producción…
Prejuicios del
testing:
• Se hace al
final.
• Es opcional.
El testing es eso que va al
final, si hay tiempo…
Performance
• Velocidad
• Uso de recursos
Source:http://www.miniatur-wunderland.de/
Simulación
Simulación
HTTP
HTTP
Server
Tres historias
Pruebas todos los días y a bajo costo
Waterfall
Etapa I: Etapa Inicial
Etapa II: Análisis de
Requerimientos
Reuniones
Preliminares
Pruebas de
Concepto
Etapa III: Automatización
Etapa IV: Armado de la
Infraestructura Definitiva
Etapa VI: Etapa Final
Definición de
Infraestructura
Definición de
Escenarios
Definición de
Transacciones
Etapa V: Ejecución y Reportes
Preparación para
la Ejecución
Ejecución de
Tests
Armado Reporte
de Prueba
Informe Final
Transferencia de
Conocimiento
PostMortem
Actividadesdecontrol/gerenciamiento
Automatizar Transacciones Revisión de Scripts / Robots
Armado
Propuesta de
Servicio
Validación con
Cliente
Ajustar el
Sistema
Instalación de ambiente y
datos de pruebas
Contexto y Objetivos
0
500
1000
1500
2000
2500
2004 2005 2006 2007 2008
Forecast Concurrent Users
Simular escenario de carga esperado.
Casos de prueba
13 (web)
Funcionarios
3 (ISO8583)
Cajeros y POS
2 (web services)
Call center
Total: 1500
usuarios
Cronograma
Criterios de aceptación
Infraestructura similar a PROD
¡Todo listo para ejecutar!
Resumen de Desafíos
1. Esfuerzo de automatización y
preparación de datos.
2. Exclusividad de uso de ambiente
similar a PROD.
3. No hay equipo. Hay silos.
4. Incertidumbre y sorpresas.
Continuous Performance Testing
https://automationnext.files.wordpress.com
https://continuousdelivery.com/
Testing
https://www.linkedin.com/pulse/10-questions-ask-our-continuous-delivery-pipeline-anton-weiss/
Delivery Pipeline: Pipes and Filters
https://www.voxxed.com/2017/01/pipeline-as-code-with-jenkins-2/
Continuous Integration
Objetivo y Contexto
• Jenkins con cientos de Jobs y
decenas de pipelines.
• Ejecución de más de 300
pruebas de performance
semanales.
• Automatizadas por devs.
• Detectar desviaciones de
performance lo antes posible. http://bit.ly/webinarShutterfly
Mis tareas
Análisis de degradaciones
Mantenimiento de pruebas
Profiling y ajuste de tests
Profiling: Ajustar el cinturón
Profiling: Ajustar el cinturón
Profiling: Ajustar el cinturón
Profiling: Ajustar el cinturón
Profiling: Ajustar el cinturón
Profiling: Ajustar el cinturón
Criterios de aceptación basados en punto de
quiebre:
• 350 hilos (virtual users)
Assertions:
• < 1% error
• P95 Response Times < 130ms + 10%
• Throughput >= 150 TPS – 10%
Pros & Cons
PROS
1. Menos riesgo, menos sorpresas.
2. Feedback temprano y constante.
3. Aprendizaje continuo.
CONS
1. Si no se hace al nivel correcto,
mayor esfuerzo de
automatización.
2. Falacia de la Composición.
Resumen de Desafíos
1. Integrar pruebas de distintos devs.
2. Mantenibilidad de un framework enorme: mucha
deuda técnica.
3. Revisar resultados.
4. Equipos, silos, falta de acuerdos,
¿quién es responsable de solucionar problemas?
¿Enfoque ágil en el gobierno?
El manifiesto indica que hay que priorizar:
• Individuos e interacciones
• sobre procesos y herramientas
• Software funcionando
• sobre documentación extensiva
• Colaboración con el cliente
• sobre negociación contractual
• Respuesta ante el cambio
• sobre seguir un plan
• Pliego
• Licitación
• Contrato
Desarrollo basado en contrato
Contrato.
.
.
.
6 meses después:
• Deuda técnica.
• Incertidumbre.
Pilares ágiles
http://managementplaza.es/blog/los-tres-pilares-de-scrum/
Continuous Delivery
Pipeline de inspección
Dev CI Test
Test UAT
Pre-
Prod
Prod
Proveedor
Cliente
Todos los días
Cada entrega
Impulso para la industria
https://es.atlassian.com/devops
Cultura DevOps
Resumen de Desafíos
1. Adopción de metodologías.
2. Complejidad tecnológica.
3. Relación entre cliente, proveedores,
operaciones, gestión, testing, etc.
4. Confianza:
• Proceso.
• Equipo.
• Producto.
Waterfall
Agile
DevOps
www.shutterstock.com
Propiciar:
• Continuous testing
• Continuous learning
• Continuous
communication
¡Gracias!
PhD. Federico Toledo
@fltoledo
Keynote:
Pruebas de Performance
www.abstracta.us
www.federico-toledo.com

More Related Content

More from 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
 
Taller de Gestión del Tiempo para ReconverTIte
Taller de Gestión del Tiempo para ReconverTIteTaller de Gestión del Tiempo para ReconverTIte
Taller de Gestión del Tiempo para ReconverTIteFederico Toledo
 
TestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestión
TestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestiónTestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestión
TestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestiónFederico Toledo
 
El testing como impulsor del cambio hacia una cultura DevOps
El testing como impulsor del cambio hacia una cultura DevOpsEl testing como impulsor del cambio hacia una cultura DevOps
El testing como impulsor del cambio hacia una cultura DevOpsFederico Toledo
 
Webinar: How to Increase Test Coverage Over Time with Automation
Webinar: How to Increase Test Coverage Over Time with AutomationWebinar: How to Increase Test Coverage Over Time with Automation
Webinar: How to Increase Test Coverage Over Time with AutomationFederico Toledo
 
Challenges to Effective Performance Testing in CI
Challenges to Effective Performance Testing in CIChallenges to Effective Performance Testing in CI
Challenges to Effective Performance Testing in CIFederico Toledo
 
Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)Federico Toledo
 
DevOps culture in GeneXus
DevOps culture in GeneXusDevOps culture in GeneXus
DevOps culture in GeneXusFederico Toledo
 
Alianza PRO - Certificación de Testing con Abstracta Academy charla sobre te...
Alianza PRO - Certificación de Testing con Abstracta Academy  charla sobre te...Alianza PRO - Certificación de Testing con Abstracta Academy  charla sobre te...
Alianza PRO - Certificación de Testing con Abstracta Academy charla sobre te...Federico Toledo
 

More from Federico Toledo (20)

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
 
Taller de Gestión del Tiempo para ReconverTIte
Taller de Gestión del Tiempo para ReconverTIteTaller de Gestión del Tiempo para ReconverTIte
Taller de Gestión del Tiempo para ReconverTIte
 
TestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestión
TestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestiónTestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestión
TestingUY 2019 - Testing en tiempos revueltos, técnicas de autogestión
 
El testing como impulsor del cambio hacia una cultura DevOps
El testing como impulsor del cambio hacia una cultura DevOpsEl testing como impulsor del cambio hacia una cultura DevOps
El testing como impulsor del cambio hacia una cultura DevOps
 
Webinar: How to Increase Test Coverage Over Time with Automation
Webinar: How to Increase Test Coverage Over Time with AutomationWebinar: How to Increase Test Coverage Over Time with Automation
Webinar: How to Increase Test Coverage Over Time with Automation
 
Challenges to Effective Performance Testing in CI
Challenges to Effective Performance Testing in CIChallenges to Effective Performance Testing in CI
Challenges to Effective Performance Testing in CI
 
Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)Performance de sistemas Angular (Meetup Angular Montevideo)
Performance de sistemas Angular (Meetup Angular Montevideo)
 
DevOps culture in GeneXus
DevOps culture in GeneXusDevOps culture in GeneXus
DevOps culture in GeneXus
 
Alianza PRO - Certificación de Testing con Abstracta Academy charla sobre te...
Alianza PRO - Certificación de Testing con Abstracta Academy  charla sobre te...Alianza PRO - Certificación de Testing con Abstracta Academy  charla sobre te...
Alianza PRO - Certificación de Testing con Abstracta Academy charla sobre te...
 

Keynote en Argentesting: Ejecutando pruebas de performance, todos los días y a bajo costo