Testing de Performance: Estresando aplicaciones GeneXus

31
Testing de Performance: Estresando aplicaciones GeneXus Federico Toledo ([email protected]) Matías Reina ([email protected])

description

Testing de Performance: Estresando aplicaciones GeneXus. Federico Toledo ( [email protected] ) Matías Reina ( [email protected] ). ¿Por qué Testing de Performance?. Para saber dónde estamos Para saber qué necesitamos Como argumento de venta ante los clientes. - PowerPoint PPT Presentation

Transcript of Testing de Performance: Estresando aplicaciones GeneXus

Page 1: Testing de Performance: Estresando aplicaciones GeneXus

Testing de Performance: Estresando aplicaciones GeneXus

Federico Toledo ([email protected])Matías Reina ([email protected])

Page 2: Testing de Performance: Estresando aplicaciones GeneXus

¿Por qué Testing de Performance?

Para saber dónde estamos

Para saber qué necesitamos

Como argumento de venta ante los clientes

Page 3: Testing de Performance: Estresando aplicaciones GeneXus

Testing en aplicaciones GeneXus

Tips

Tools

Page 4: Testing de Performance: Estresando aplicaciones GeneXus

Experiencia del CES

Aplicación con más de

1200 tablas

7900 programas

Plataformas heterogéneas.

Aplicaciones con más de 900 usuarios.

Aplicaciones con gran volumen de datos.

Page 5: Testing de Performance: Estresando aplicaciones GeneXus

Rele

vam

ien

to d

e

Req

ueri

mie

nto

s

Au

tom

ati

zació

n

Pre

para

ció

n

Infr

aestr

uctu

ra

Eje

cu

ció

n d

e

Pru

eb

as

Etapas de Proyectos de Performance

Page 6: Testing de Performance: Estresando aplicaciones GeneXus

Relevamiento de Requerimientos

Page 7: Testing de Performance: Estresando aplicaciones GeneXus

User experience,

Not Metrics

(Scott Barber)

Escenarios de Carga

Flujos a probar (transacciones)

Tiempos aceptables de respuesta

Datos de Prueba

Infraestructura

Relevamiento de Requerimientos

Acotar el alcance del

proyecto de testing a

una plataforma

Page 8: Testing de Performance: Estresando aplicaciones GeneXus

Automatización

Page 9: Testing de Performance: Estresando aplicaciones GeneXus

¿Porque automatizar?

500 usuarios reales

Grupo de coordinación

500 PCs

500 guiones

500 usuarios simulados

Utilizando herramientas de generación de carga

Page 10: Testing de Performance: Estresando aplicaciones GeneXus

Pagas

IBM Rational Robot

HP Mercury LoadRunner

Compuware QALoadOpenSource

OpenSTA

JMeter

The Grinder

Herramientas de automatización

Page 11: Testing de Performance: Estresando aplicaciones GeneXus

LoadRunner QALoad SilkPerformer OpenSTA JMeter Grinder

Java-Corba G/R G/R G/R R

RMI G/R G/R G/R R R

HTTP/S G/R G/R G/R G/R G/R G/R

SOAP G/R G/R G/R R R

Remoting G/R G/R G/R R

ADO.NET G/R G/R G/R

ODBC G/R G/R G/R

JDBC G/R G/R G/R R R

WebLoadComerciales Gratuitas

G/R

Herramientas–Protocolos-GX

G: Grabar

R: Reproducir

Page 12: Testing de Performance: Estresando aplicaciones GeneXus

Características del OpenSTA

Lenguaje de scripting propio: SCL

Carga distribuida

Gran cantidad de UVs por generadora

Monitorización

SNMP

NTPerformance

Page 13: Testing de Performance: Estresando aplicaciones GeneXus

Grabación de un script

Servidor Web

Tool Tool

1

1.11.2

2

3

3.1

Tenemos el script

GatewayBrowser

Http - Request

Http - Response

Http - Request

Http - Response

Page 14: Testing de Performance: Estresando aplicaciones GeneXus

Empezar con la aplicación definitiva

Buscar los errores en todo el script

Minimizar la lógica

Cuidado con los redirects

Cuidado con los campos hidden

Ser metódicos

Etapa de automatización

Promedio de 40% del proyecto

Tips para Automatización en GX

Page 15: Testing de Performance: Estresando aplicaciones GeneXus

Infraestructura

Page 16: Testing de Performance: Estresando aplicaciones GeneXus

¿Infraestructura?

Hardware

Software de base

Herramientas para el test

Generación de carga

MonitorizaciónMantener todo el

ambiente controlado

Page 17: Testing de Performance: Estresando aplicaciones GeneXus

GeneXus: plataformas soportadas

Plataformas de ejecución (Java, .NET, etc.)

Sistemas Operativos (OS/400, Linux, Windows, etc.)

Internet (Java, ASP.NET, HTML, Web Services, etc.)

Bases de Datos (DB2, SQL Server, MySQL, Oracle, etc.)

Servidores Web (MS IIS, Apache, WebSphere, etc.)

Page 18: Testing de Performance: Estresando aplicaciones GeneXus

Estado de la infraestructura

INTERNET

Clientes Routers SwitchesWeb

ServersFirewall

Applications Servers

Bases de Datos

Page 19: Testing de Performance: Estresando aplicaciones GeneXus

Herramientas de Monitorización

Windows: NT Performance Monitor

Linux, Unix, etc.: NMON

Datos de la aplicación

JMX - Java

WMI - .NETSoftware de Base

Aplicación

Page 20: Testing de Performance: Estresando aplicaciones GeneXus

JMX y WMI en GeneXus

General

Heap de memoria

Threads

Management

Pool de conexiones, usuarios, caché.

Performance

SQLs, cursors, procedures.

Scmbuf, SQLs

dinámicas: usar

trazas

Page 21: Testing de Performance: Estresando aplicaciones GeneXus

JMX en Genexus

En el client.cfg

MANAGEMENT_ENABLE=1

JVM 1.5 o superior

Herramienta:

MC4J (OpenSource)

Page 22: Testing de Performance: Estresando aplicaciones GeneXus

Ejemplo JMX-MC4J

Page 23: Testing de Performance: Estresando aplicaciones GeneXus

WMI en Genexus

En el client.exe.config

Instrumented=1

Herramienta: WMI CIM Studio

Page 24: Testing de Performance: Estresando aplicaciones GeneXus

Ejecución

Page 25: Testing de Performance: Estresando aplicaciones GeneXus

Plan de Pruebas

BaseLineMejor tiempo posible

EscenarioIncremental

Servidor WebServidor Web

Servidor WebServidor Web

Incremento en

cantidad de UVs o en

el throughput

Page 26: Testing de Performance: Estresando aplicaciones GeneXus

Ejecución de las pruebasCuando se encuentra

un error buscar el

patrón en todo el

sistema

Gen

erar

la c

arga

Recolectar y Analizar

Datos

Realizar

Correcciones

Page 27: Testing de Performance: Estresando aplicaciones GeneXus

Realizar correcciones

Bloqueos de tablas

Seteos de máquina virtual (JVM / .Net FW)

Algoritmos

Zonas de mutua exclusión

Pérdida de memoria (Memory Leaks)

Dimensionamiento (Sizing)

Page 28: Testing de Performance: Estresando aplicaciones GeneXus

En resumen …R

ele

vam

ien

to d

e

Req

ueri

mie

nto

s

Au

tom

ati

zació

n

Pre

para

ció

n

Infr

aestr

uctu

ra

Eje

cu

ció

n d

e

Pru

eb

as

Page 29: Testing de Performance: Estresando aplicaciones GeneXus

¿Preguntas?

Page 30: Testing de Performance: Estresando aplicaciones GeneXus

Si están interesados …

Scott Barberhttp://www.perftestplus.com/pubs.htm

User Experience – Not metrics

Herramientas Generación de Carga freehttp://www.opensourcetesting.org/performance.php

http://www.opensta.org

JMX y WMI en GeneXushttp://www.gxopen.com/commwiki/servlet/hwiki?

Application+Monitoring+and+Management,

Page 31: Testing de Performance: Estresando aplicaciones GeneXus

Si están interesados …

Conferencias relacionadasAutomatización de Pruebas Funcionales – Proyecto

GXportal - Ballroom C, martes, hora: 15:15

Federico Toledo, [email protected]

Matías Reina, [email protected]

Laboratorio de Plataformas

Centro de Ensayos de Software