1. DESPUÉS DEL MOVIMIENTO MODERNO-El desvelamiento de una primera evolución (1930-1945)
TestingAR V - Una Nueva Visión - Federico Toledo - Performance Durante y Después
-
Upload
testingar-meetup -
Category
Technology
-
view
175 -
download
1
Transcript of 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
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
• 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…
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
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
• 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
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
• 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
• 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
https://results.monkop.com/d8af6f27-7b0e-4573-b806-8303946269e3/report/report/index.html
• 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
¿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/
• 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
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
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
• 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?
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
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
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
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
• ¿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?
• ¿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?
• 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?
• Performance testing fallacies (Stickyminds)
• Blogpost: The tool or the tester?
• Blogpost: Taurus
• Blogposts tutorial sobre Gatling
Referencias
• 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
• 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