36
1

Software Performance Testing: Conceptos y metodología

Embed Size (px)

Citation preview

Page 1: Software Performance Testing: Conceptos y metodología

1

Page 2: Software Performance Testing: Conceptos y metodología

Nuestras locaciones

Page 3: Software Performance Testing: Conceptos y metodología

NuestrosPanelistas

Lee Miguel LópezPerformance Engineer

Karla CerrónMarketing Analyst

Page 4: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• ¿Qué es?• ¿Por qué es importante?• ¿Cuándo se recomienda?• Alcance• Dentro del proyecto• ¿Qué necesito para iniciar?

Temario

Page 5: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• Prueba no funcional.• Aplicación + Ambiente(servidores, comunicación, etc).• Engloba diferentes tipos de prueba.• Imprescindible en ciclo de vida del sw.• Buen performance? => Percepción.• Perf. del Sistema = Σ Perf. Módulos

¿Qué es Performance Testing?

Page 6: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF¿Por qué hacer

Performance Testing?

Page 7: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF¿Por qué hacer

Performance Testing?

Page 8: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

Page 9: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

Page 10: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

154

Interacción Simple (Conversación)

Memoria Corto Plazo

2

Comprometido emocionalmente.

Recordar Información

2sub

Trabajo intensivo

ms

Instantáneo

Hablando de segundos…

Page 11: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• NO EXISTEN estándares

Performance Testing Standards

APM(Application Performance Management)

• “Lo que quiero” & “Lo que necesito”• Pero existe…

Page 12: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

Page 13: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• Usuarios concurrentes (dah!)• Tiempo de respuesta > Crítico.• Arquitecturas distribuidas.• Infraestructura o componentes compartidos.• Nuevas versiones o releases.• Antes de campañas de venta. (e-commerces)

¿Cuándo se recomienda?

Page 14: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• Replicar: HTTP, FTP, TCP, JDBC, MongoDB, JMS, WS, LDAP, OS, SSH, … … … ISO 8583

• Monitorear ambientes.• Exportar y correlacionar resultados.• Análisis y diagnóstico.

¿Qué puedo hacer?

“Tell me which protocol are you made of. And I will test you”

Page 15: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSFDentro del proyecto

Page 16: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

1. Asegurar código terminado y congelado.2. Diseñar ambiente de pruebas.

¿Qué se necesita?

Page 17: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSFAmbiente: Expectativa

Page 18: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSFAmbiente: Realidad

Page 19: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSFPerformance Test Architecture

Page 20: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

1. Asegurar código terminado y congelado.2. Diseñar ambiente de pruebas.

¿Qué se necesita?

3. Definir objetivos “realistas”.4. Crear scripts para emular transacciones.

Page 21: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• Think Time (simple, random, gaussian)• Delays (uniform, synchronized)• Conditional (simple, double, multip.)• Loop (switch, while, throughput )• Assertions (http code, text, time)• Managers (cache, cookies, sessions)• Regex

Scripting

Page 22: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSFScripting

Page 23: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

1. Asegurar código terminado y congelado.2. Diseñar ambiente de pruebas.3. Definir objetivos “realistas”.4. Crear scripts para emular transacciones.

¿Qué se necesita?

5. Data de prueba (RIP Performance Testing)6. Ejecución de pruebas.

Page 24: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSFEjecución de Pruebas

Page 25: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSFTipos de Pruebas

Page 26: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• Estoy bien o no?• Simula condiciones esperadas.• Casos importantes/críticos.• Rendimiento global.• SLA definidos por negocio.

De Carga

Page 27: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• Cuánto más puedo crecer?• Misma app, mismo env.• Expectativas futuras.• Nivel máximo aceptado.• SLA pueden cambiar.

De Escalabilidad

Page 28: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• Memoria OK?• Prueba de carga prolongada.• Memory starvation.• Garbage collector. • Puede durar horas, días,

incluso semanas.

De Rendimiento

Page 29: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

• Dónde soy débil?• Condiciones inesperadas.• Carga extrema.• Scripts modificados.• Encontrar breakpoints.• Vital para algunos negocios

(BCP)

De Estrés

Page 30: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSFOtros Tipos de Pruebas

PROFILING

BASELINE

DEBUG

PROFILING

Page 31: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

1. Asegurar código terminado y congelado.2. Diseñar ambiente de pruebas.3. Definir objetivos “realistas”.4. Crear scripts para emular transacciones.5. Data de prueba (RIP Performance Testing)6. Ejecución de pruebas y monitoreo.

¿Qué se necesita?

7. Interpretación de resultados.

Page 32: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSFAnalysis and Monitoring

QUEST SQL

Page 33: Software Performance Testing: Conceptos y metodología

QUESTIONS#PerformanceTestingBSF

1. Asegurar código terminado y congelado.2. Diseñar ambiente de pruebas.3. Definir objetivos “realistas”.4. Crear scripts para emular transacciones.5. Data de prueba (RIP Performance Testing)6. Ejecución de pruebas.7. Interpretación de resultados.

¿Qué se necesita?

8. Resumen/Entrega (Ejecutivo, Técnico)

Page 34: Software Performance Testing: Conceptos y metodología

Q & A

Page 35: Software Performance Testing: Conceptos y metodología

ContactoLee Miguel LópezPerformance [email protected] @mlopez_ch

Page 36: Software Performance Testing: Conceptos y metodología

¡Muchas Gracias!