Top Banner
Performance Testing Durante y Después PhD. Federico Toledo @fltoledo
50

TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Jan 20, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Performance Testing

Durante y Después

PhD. Federico Toledo@fltoledo

Page 2: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

¿Cómo evitar este trabajo?

• Bomberossolucionandoproblemas enproducción.

Page 3: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Introducción• Performance, testing, distintos enfoques

• A tener siempre en cuenta• Personas, tecnología y metodología

• Comparación: Waterfall vs. Agile• Pros & Cons basado en experiencias reales

• Conclusiones

Agenda

Page 4: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Agenda

• Introducción• Performance, testing, distintos enfoques

• A tener siempre en cuenta• Personas, tecnología y metodología

• Comparación: Waterfall vs. Agile• Pros & Cons basado en experiencias reales

• Conclusiones

Page 5: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

¿Qué esperformance?

Page 6: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

TRABAJO ÚTIL

TIEMPO & RECURSOS

VS

Page 7: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

¿Qué esperformance

testing?

Page 8: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Simular

So

urc

e: h

ttp

://w

ww

.min

iatu

r-w

un

de

rla

nd

.de

/

Page 9: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Medir

Page 10: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Bottlenecks Punto de Quiebre

Page 11: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Usuarios concurrentes • Proceso

Tipos de Pruebas de Performance

Page 12: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Durante• Agile

• Continuous integration

• Unit, component

• Feedback temprano

• Ingeniería de Performance

• Después• Waterfall

• Acceptance testing

• Simulación de escenario de carga

Performance testing…

Page 13: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Agenda

• Introducción• Performance, testing, distintos enfoques

• A tener siempre en cuenta• Personas, tecnología y metodología

• Comparación: Waterfall vs. Agile• Pros & Cons basado en experiencias reales

• Conclusiones

Page 14: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Agenda

• Introducción• Performance, testing, diferentes enfoques

• A tener siempre en cuenta• Personas, tecnología y metodología

• Comparación: Waterfall vs. Agile• Pros & Cons basado en experiencias reales

• Conclusiones

Page 15: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

A tener siempre en cuenta

Page 16: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Scripting y programación

• Protocolos de comunicación

• Arquitecturas

• Herramientas de monitorización y métricas

• Administración de Redes y Sistemas Operativos

• Conocimiento del negocio y sus riesgos

Personas: hard-skills

Page 17: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Abstracción

• Comunicación

• Análisis

• Percepción

Personas: soft-skills

Page 18: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Como dice Scott Barber:

A good performance tester should be a “mid-level” in everything.

http://www.perftestplus.com/resources/pt_for_managers_ppt.pdf

Personas

Page 19: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

A tener siempre en cuenta

Page 20: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Technología

Page 21: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Simulación • JMeter (jmeter.apache.org)• Taurus (gettaurus.org)• BlazeMeter (blazemeter.com)• Gatling (gatling.io)• Usábamos OpenSTA (opensta.org) pero quedó

sin mantenimiento

• Medición • Profilers y similar ( JVisualVM, JProfiler, dotTrace)• Herramientas a nivel de Sistema Operativo

(NMON, perfmon, Netdata)• APMs (AppDynamics, NewRelic, DataDog)

Technología – Server Side

Page 22: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Technología

Page 23: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Web• Page Speed• Yslow• monkeytest.it• APMs

• Desktop• Perfmon o NMON • Profilers Java o .NET

• Mobile• Google Test Cloud / Testdroid / Perfecto• Xcode - Instruments / XCTest• APMs• Monkop

Technología – Client Side

Page 24: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después
Page 25: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después
Page 26: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después
Page 27: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Encuentro GeneXus Marca Fotocasa La Liga VivaVideo

Monkop - Exploraciones

Page 28: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

https://results.monkop.com/d8af6f27-7b0e-4573-b806-8303946269e3/report/report/index.html

Page 29: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después
Page 30: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después
Page 31: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

A tener siempre en cuenta

Page 32: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Diseño de prueba

• Automatización

• Ejecución y medición

Proceso / metodología

Page 33: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Plan de ejecución• Baseline (sin concurrencia)

• Para tener de referencia

• Iterativo e incremental • Problemas más graves se hacen visible primero

Servidor WebServidor Web

Servidor WebServidor Web

Proceso / metodología

Page 34: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

¿Cómo analizar problemas de performance?• Encontrar forma de reproducir

• Asegurarse que el problema no es la prueba

• Hacer un cambio a la vez

• Changelog / bitácora para tener trazabilidad entre cambios y cómo afectó

Tuning / ajuste

Bajan tiempos de respuesta x%

Cambio en una funcionalidad

Uso de CPU aumentó X%

Proceso / metodología

Icons by Gregor Črešnar, Jamie Wilson, Shmidt Sergey, Icon Fair. Source: https://thenounproject.com/

Page 35: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Los 5 ¿por qué? Para ir de síntomas a causas• El Sistema anda lento

• ¿Eso es síntoma o causa? ¿Por qué anda lento?

• Porque el Sistema tarda 15 segundos en completar• ¿Por qué?

• Porque el componente de acceso a datos estádemorando todo ese tiempo• ¿Por qué?

• Porque hay SQL’s que tardan mucho• ¿Por qué?

• Porque en el entorno no se creó un índicefundamental en esas consultas• Entonces, ¡crear el índice!

Proceso / metodología

Page 36: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Agenda

• Introducción• Performance, testing, diferentes enfoques

• A tener siempre en cuenta• Personas, tecnología y metodología

• Comparación: Waterfall vs. Agile• Pros & Cons basado en experiencias reales

• Conclusiones

Page 37: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Agenda

• Introducción• Performance, testing, diferentes enfoques

• A tener siempre en cuenta• Personas, tecnología y metodología

• Comparación: Waterfall vs. Agile• Pros & Cons basado en experiencias reales

• Conclusiones

Page 38: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• La mayoría de nuestros clientes nos piden por “simulación de carga” justo antes de salir en producción.

• Principales motivaciones:• Nueva versión con nuevas funcionalidades

• Nueva arquitectura (win to web, web to mobile)

• Campañas de Marketing

• Un banco que absorbe a otro

• Solo algunos piden acompañarlos durante el desarrollo (en los últimos años)• Por eso decidimos comparar los dos enfoques

¿Qué es lo que se usa?

Page 39: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

PROS

1. Más fácil de planificar

2. Ambiente similar a producción

3. Foco en un contexto específico

CONS

1. Disponibilidad de la infraestructura

2. Riesgo de altos costos por cambios arquitectónicos

Performance Testing al Final

Page 40: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

PROS

1. Minimizar riesgo

2. Feedback temprano y constante• Pruebas tempranas (unidades, componentes)• Integración continua

3. Aprendizaje continuo • Monitorización y análisis• Buenas y malas prácticas

CONS

1. Mayor esfuerzo de automatización • Prestar atención en qué nivel automatizamos

2. Falacia de la Composición: • Test(A)+Test(B)=Test(A+B)• Si se prueban los componentes entonces el

sistema integrado funcionará apropiadamente.

Performance Testing durante el desarrollo

Page 41: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Agenda

• Introducción• Performance, testing, diferentes enfoques

• A tener siempre en cuenta• Personas, tecnología y metodología

• Comparación: Waterfall vs. Agile• Pros & Cons basado en experiencias reales

• Conclusiones

Page 42: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

Agenda

• Introducción• Performance, testing, diferentes enfoques

• A tener siempre en cuenta• Personas, tecnología y metodología

• Comparación: Waterfall vs. Agile• Pros & Cons basado en experiencias reales

• Conclusiones

Page 43: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

¿Qué enfoque es mejor?

Deberíamos cambiar la pregunta…

Conclusiones

Page 44: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• ¿Necesitas verificar que el sistema soporta determinada carga?

• ¿Necesitas evidencia de prueba para tus clientes?

• ¿Querés analizar el impacto de un cambio en producción?

SIMULACIÓN DE CARGAAl final

WATERFALL

¿Qué enfoque es mejor?

Page 45: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• ¿Querés optimizar costo y reducir riesgos de performance?

• ¿Querés incrementar el conocimiento del equipo y mejorar las prácticas y habilidades?

• ¿Querés incluir performance en tu integración continua?

INGENIERÍA DE PERFORMANCE Durante el desarrollo

AGILE

¿Qué enfoque es major?

Page 46: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Necesitamos los dos enfoques en distintos momentos.

• Comenzar temprano con ingeniería de performance y preparar una prueba de aceptación al final, justo antes de poner en producción.

¿Qué enfoque es mejor?

Page 47: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

¡Gracias!

PhD. Federico Toledo@fltoledo

Performance TestingDurante y Después

Page 49: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Blog (en Español) • http://blog.abstracta.com.uy

• Blog y recursos (en Inglés)• http://www.abstracta.us/knowledge-center/

• Libro “Introducción a las pruebas de sistemas de Información” (en Español, gratuito)• http://bit.do/librodetesting

• eBook “A complete introduction to functionaltest automation” (en Inglés)

• eBook de performance… coming soon…

Rerefencias

Page 50: TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después

• Certificación en testing de performance usando JMeter y BlazeMeter. • Curso online de un mes de duración. • www.abstracta.us/performance-testing-certification

• 25% de descuento usando este cupón TESTINGAR-MEETUP este mes.

Abstracta Academy