SlideShare a Scribd company logo
Ya eres parte	de	la	evolución
Liquid Day
Las	Pruebas	de	Desempeño	
desenmascaradas
ing.	Sergio	Cedillo
t:	@chaakceco,	m:	ing.sergio.cedillo@gmail.com
#sgnext
La	expectativa	en	tiempos	de	
respuesta…
Qué	%	de	usuarios	espera	la	respuesta	en….
<	2	segs?	
49%
<	1	seg?	
30%
Ya	(msegs)?		
18%
Y	la	realidad	tan	común…
• …Espere	un	momento	por	favor
Porqué	me	debe	de	importar?
• Perdida	de	Oportunidades
• Perdida	de	Clientes
• Reducción	en	Ventas
• Reducción	en	Ingresos	(Ej.	Recaudadora	de	impuestos)
• Pago	de	Multas	por	Incumplimiento	a	Contratos
• Mala	percepción	de	Calidad
• Paro	de	Servicios
• Alto	Costo	para	mejorar	los	servicios
• Etc.,	etc.
Pruebas	de	Desempeño
ó
Ingeniería	de	Desempeño
Pruebas	¿de	Qué?
• En	General de	“Desempeño”…
• En	Particular:
• Carga
• Volumen
• Stress/Contención
• Benchmark
• Capacity
• Soak
• Profiling
• Y	también	de	Desempeño
• Software/Hardware
• Tip:	¿Cuál	prueba	necesito? – Pensar	en	el	Objetivo
Tan	fuerte	como	el	eslabón	más	
débil
Muchas	las	fuentes	de	problemas
POR	CAPA
• Desde	el	GUI
• Los	Balanceadores
• El	Web	Server
• La	capa	J2EE
• La	capa	de	Datos	
• La	red
POR	ORIGEN
– El	Código
– El	Diseño
– La	Arquitectura
– El	Monitoreo
– La	falta	de	Pruebas
– El	Software	Base
– El	Hardware
– Falta	de	
Planeación	de	
Capacidad
POR	FACTORES	
EXTERNOS	/	
INFORTUITOS
– Una	Campaña	de	
marketing	
subestimada
– Un	Concierto	
súper	esperado
– Factores	sorpresa
– Un	ataque	de	
Anonymous
– Etc.,	etc.
El	efecto	Búfalo…
El	caso	de	Sistemas	NO	Informáticos:
• El	Ejemplo	de	las	Cajas	del	Banco:
• Número	de	Operaciones	por	Cliente
• Diversa	Complejidad	de	Operaciones	
• Distinta	velocidad	de	los	Cajeros
• Demanda	muy	variable	por	Hora,	Día	del	mes,	
de	la	semana,	Quincena,	etc.
• También	afectado	por	sistemas	informáticos,	
pero	no	necesariamente
• Del	Supermercado,	de	una	Avenida,	etc.,	etc.
El	comportamiento	Constante
Carga
0
0.5
1
1.5
2
2.5
10
20
30
40
50
60
70
80
El	Comportamiento	Constante
Carga
El	comportamiento	Lineal
Carga
0
1
2
3
4
5
6
7
8
9
100
110
120
130
140
150
160
El	Comportamiento	Lineal
Carga
El	comportamiento	Exponencial
Carga
0
1000
2000
3000
4000
5000
6000
7000
200
210
220
230
240
250
260
El	Comportamiento	Exponencial
Carga
Es	el	número	de	usuarios	
realmente	lo	que	importa?
• NO	importa	cuántos	clientes	estén	esperando	en	la	
sala	del	Banco,	o	en	llenando	su	carrito	en	el	súper
• Lo	que	importa	es	la	capacidad	de	atender	a	los	
clientes	al	momento	de	llegar	a	las	cajas
Tip:	Pensar	mejor	en	Throughput
• Throughput:	
• (TRANSACCIONES	x		Unidad	de	Tiempo)
• Típicamente:	
• 350	hits/seg
• 1500	compras/minuto
• 150	consultas/seg
• Etc.,etc.
Así	que,	¿En	qué	momento	empiezo	a	
probar	para	el	desempeño?
• La	disyuntiva	de	siempre:
Desde	el	Inicio…
• Aún	no	están	construidos	todos	los	elementos	que	
contribuyen	al	desempeño,	
• Inestabilidad	en	la	Aplicación
• NO	está	disponible	el	hardware	real,	
• NO	está	en	ambiente	productivo,	
• NO	está	afinado	el	middleware,	etc.
• La	BD	no	está	suficientemente	poblada,	
configurada,	afinada,	etc.
• El	middleware,	etc.,	etc….
Hasta	el	final…
• Ya	está	toda	la	infraestructura	disponible,	ya	está	
todo	el	código	terminado,	ya	está	probada y	
estable	la	aplicación,	pero…
• Podría	ser	demasiado	tarde	para	corregir	problemas	de	
diseño	ó de	arquitectura
• Ya	no	queda	tiempo	de	hacer	cambios
• Ya	no	queda	tiempo	de	hacer	afinación	(tuning)
• Ya	no	queda	tiempo	siquiera	de	hacer	pruebas
Tip:	Pero	Antes	que	nada:
El	Análisis	de	Carga
• Para	entender	los	múltiples	escenarios
• Para	evitar	caer	en	lo	irreal	ó lo	imposible
• Para	emular	lo	más	cercano	posible	escenarios	reales
• Para	comunicarse	mejor	con	los	dueños	de	la	
información
• Para	entender	los	perfiles	de	usuarios	requeridos:	El	
operador,	el	administrador,	el	usuario	final	ó los	
usuarios	finales	(El	navegador,	el	comprador,	el	
comparador,	etc.)
• Sustentado	lo	más	posible	en	estadísticas	históricas
Tip:	Comenzar	lo	más	Temprano	
posible
• Con	buenas	prácticas	
de	Diseño	y	
Codificación
• Con	herramientas	de	
perfilado
• Con	el	uso	de	stubs
• Con	pruebas	por	
etapas
• Con	herramientas	de	
Simulación	de	Carga
Heterogeneous Environments
Nube Pública
Nube Privada
Data Warehouse Mainframe
Enterprise
Service Bus
LDAP
File
systems
Collaboration
Web/
Internet
Servicios
de Ruteo
Servicios
de Terceros Portales
Proveedores de
Contenido
EJBs
Servicios
Compartidos
Archivos
Business
Partners
Servicios de
Mensajería
Las	opciones	del	mercado
• Las	propietarias
(HP,	IBM,	MS	VSTS,	Compuware,	Borland,	Apica)
• Las	Open	Source
(The Grinder,	Gatling,	Tsung,	Jmeter,	OpenSTA)
• Las	de	Nube	
(HP,	IBM,	Microsoft,	WorkSoft,	etc)
Es	simple...			y	complejo…
Corrección:
• …más	bien	es	muy	simple	hacer	una	Prueba	de	
Desempeño
• Con	las	herramientas	de	hoy	es	muy	sencillo
• …pero	también	es	muy	difícil	hacer	una	buena
Prueba	de	Desempeño:
• Por	lo	difícil	que	es	replicar	exactamente	un	ambiente	
real	de	producción.
• Por	la	aleatoriedad	del	comportamiento	de	los	sistemas	
de	producción
• Es	suficiente	el	20/80?,	ó el	30/90?	ó el	40/95?
NO a:
• Resolver	de	primera	mano	los	problemas	de	
desempeño	con	“El	maquinazo”
• Relegar	las	pruebas	de	Desempeño	hasta	el	final
• Ejecutar	una	prueba	de	Desempeño	sin	tener	Claro	
el	Objetivo
• Ejecutar	una	prueba	de	Desempeño	sin	haber	
hecho	el	Análisis	de	Carga	esperado
• Sólo	considerar	el	#	de	Usuarios	Concurrentes
SI a:
• Dedicar	suficiente	tiempo	a	Analizar,	Diseñar y	
Ejecutar las	Pruebas	de	Desempeño
• Probar	Temprano	y	Seguido	
• Contemplar	el	uso	de	herramientas	complementarias	
(monitoreo,	profiling,	descomposición de	
transacciones)
• Incluir	un	equipo	interdisciplinario comprometido con	
el	objetivo	de	mejorar	(No	de	echar	culpas)
• Educación para	mejorar	la	experiencia
• Promover	la	cultura	del	desarrollo	orientado	para	el	
Desempeño	Aplicativo.
Tiempo	para	una	pequeña…
¿Preguntas?
Gracias	por	su	atención	e	Interés	- Datos	de	Contacto:
ing.sergio.cedillo@gmail.com
@chaakcheco
55.5104.1695

More Related Content

Viewers also liked

Viewers also liked (9)

Desarrollo de apps de negocio con Genero
Desarrollo de apps de negocio con GeneroDesarrollo de apps de negocio con Genero
Desarrollo de apps de negocio con Genero
 
Liquid Day - Retos modernos del desarrollo de aplicaciones de negocio
Liquid Day - Retos modernos del desarrollo de aplicaciones de negocioLiquid Day - Retos modernos del desarrollo de aplicaciones de negocio
Liquid Day - Retos modernos del desarrollo de aplicaciones de negocio
 
Fuentes para la medicion del subregistro en mexico final corta
Fuentes para la medicion del subregistro en mexico final cortaFuentes para la medicion del subregistro en mexico final corta
Fuentes para la medicion del subregistro en mexico final corta
 
Liquid Day - La importancia del desarrollo seguro
Liquid Day - La importancia del desarrollo seguroLiquid Day - La importancia del desarrollo seguro
Liquid Day - La importancia del desarrollo seguro
 
Como utilizar las APIs de Google Maps para revolucionar su negocio a través d...
Como utilizar las APIs de Google Maps para revolucionar su negocio a través d...Como utilizar las APIs de Google Maps para revolucionar su negocio a través d...
Como utilizar las APIs de Google Maps para revolucionar su negocio a través d...
 
Diseño de CV efectivo para perfiles de TI
Diseño de CV efectivo para perfiles de TI Diseño de CV efectivo para perfiles de TI
Diseño de CV efectivo para perfiles de TI
 
Lunch & Learn: El poder de las NoSQL con mongoDB
Lunch & Learn:  El poder de las NoSQL con mongoDBLunch & Learn:  El poder de las NoSQL con mongoDB
Lunch & Learn: El poder de las NoSQL con mongoDB
 
Swift sin hype y su importancia en el 2017
 Swift sin hype y su importancia en el 2017  Swift sin hype y su importancia en el 2017
Swift sin hype y su importancia en el 2017
 
Ingeniería de Requerimientos: Software Orientado al Negocio
Ingeniería de Requerimientos: Software Orientado al NegocioIngeniería de Requerimientos: Software Orientado al Negocio
Ingeniería de Requerimientos: Software Orientado al Negocio
 

Similar to Liquid Day - Pruebas de desempeño desenmascaradas

Como vender agilidad al hombre de negocios
Como vender agilidad al hombre de negociosComo vender agilidad al hombre de negocios
Como vender agilidad al hombre de negocios
LeanSight Consulting
 
Si la gestión y desarrollo de requisitos es tan importante... ¿Por qué no la...
Si la gestión y desarrollo de requisitos es tan importante...  ¿Por qué no la...Si la gestión y desarrollo de requisitos es tan importante...  ¿Por qué no la...
Si la gestión y desarrollo de requisitos es tan importante... ¿Por qué no la...
Pepe
 
Cmmi dev-v1.2 nivel i (sesion 001) nh-v4
Cmmi dev-v1.2 nivel i (sesion 001) nh-v4Cmmi dev-v1.2 nivel i (sesion 001) nh-v4
Cmmi dev-v1.2 nivel i (sesion 001) nh-v4
Luis Fragoso
 
C:\Fakepath\Como Abordar Un Proyecto Tic
C:\Fakepath\Como Abordar Un Proyecto TicC:\Fakepath\Como Abordar Un Proyecto Tic
C:\Fakepath\Como Abordar Un Proyecto Tic
jvlerga
 

Similar to Liquid Day - Pruebas de desempeño desenmascaradas (20)

Como vender agilidad al hombre de negocios
Como vender agilidad al hombre de negociosComo vender agilidad al hombre de negocios
Como vender agilidad al hombre de negocios
 
unidad 1.pptx
unidad 1.pptxunidad 1.pptx
unidad 1.pptx
 
Introducción al six_sigma
Introducción al six_sigmaIntroducción al six_sigma
Introducción al six_sigma
 
Scrum y la Crisis Mundial
Scrum y la Crisis MundialScrum y la Crisis Mundial
Scrum y la Crisis Mundial
 
Apuntes unidad1 estrategias de gestion de ti
Apuntes unidad1 estrategias de gestion de tiApuntes unidad1 estrategias de gestion de ti
Apuntes unidad1 estrategias de gestion de ti
 
Despliegue_de_la_funcion_de_calidad.pptx
Despliegue_de_la_funcion_de_calidad.pptxDespliegue_de_la_funcion_de_calidad.pptx
Despliegue_de_la_funcion_de_calidad.pptx
 
Si la gestión y desarrollo de requisitos es tan importante... ¿Por qué no la...
Si la gestión y desarrollo de requisitos es tan importante...  ¿Por qué no la...Si la gestión y desarrollo de requisitos es tan importante...  ¿Por qué no la...
Si la gestión y desarrollo de requisitos es tan importante... ¿Por qué no la...
 
Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...
Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...
Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...
 
Administración de proyectos de ti unfv 2014 1
Administración de proyectos de ti  unfv 2014 1Administración de proyectos de ti  unfv 2014 1
Administración de proyectos de ti unfv 2014 1
 
DFSS
DFSSDFSS
DFSS
 
Tips para la PMO perdida en el Mundo Ágil
Tips para la PMO perdida en el Mundo ÁgilTips para la PMO perdida en el Mundo Ágil
Tips para la PMO perdida en el Mundo Ágil
 
Cmmi dev-v1.2 nivel i (sesion 001) nh-v4
Cmmi dev-v1.2 nivel i (sesion 001) nh-v4Cmmi dev-v1.2 nivel i (sesion 001) nh-v4
Cmmi dev-v1.2 nivel i (sesion 001) nh-v4
 
Semana 01 Lean Manufacturing - LLS Semana
Semana 01 Lean Manufacturing - LLS SemanaSemana 01 Lean Manufacturing - LLS Semana
Semana 01 Lean Manufacturing - LLS Semana
 
OKR Canvas - Ágiles 2018
OKR Canvas - Ágiles 2018OKR Canvas - Ágiles 2018
OKR Canvas - Ágiles 2018
 
C:\Fakepath\Como Abordar Un Proyecto Tic
C:\Fakepath\Como Abordar Un Proyecto TicC:\Fakepath\Como Abordar Un Proyecto Tic
C:\Fakepath\Como Abordar Un Proyecto Tic
 
BA 2013, Definición de requerimientos
BA 2013, Definición de requerimientosBA 2013, Definición de requerimientos
BA 2013, Definición de requerimientos
 
Sobrevivir a un proyecto de Odoo
Sobrevivir a un proyecto de OdooSobrevivir a un proyecto de Odoo
Sobrevivir a un proyecto de Odoo
 
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
Estimación, Priorización y Seguimiento de un Proyecto Ágil Empleando el User ...
 
Diapositivas 1
Diapositivas 1Diapositivas 1
Diapositivas 1
 
Retos y soluciones de trabajar con requerimientos de software
Retos y soluciones de trabajar con requerimientos de softwareRetos y soluciones de trabajar con requerimientos de software
Retos y soluciones de trabajar con requerimientos de software
 

More from Software Guru

More from Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Recently uploaded

Recently uploaded (8)

MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
 
Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)
 
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNETLA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 

Liquid Day - Pruebas de desempeño desenmascaradas