Professional Documents
Culture Documents
AGENDA
1. Concepto
2. Tipos de Prueba
3. Estrategia de Pruebas
4. Herramientas
5. Plan de Pruebas
6. Correlación y Métricas
7. Reportes de Pruebas
8. Jmeter
9. Practica
RENDIMIENTO
CONCEPTO
CONCEPTO
Determinar lo rápido
que realiza una tarea en Velocidad
un sistema en
condiciones particulares
de trabajo. También Tiempo
puede servir para
validar y verificar otros
atributos de la calidad Desempeño
del sistema
CASOS DE AFECTACIÓN
Cuando YouTube sacó al Mercado una versión de su página un 90%
más ligera, ellos vieron un gran incremento de tráfico en áreas con
pobre conectividad como Sur América, África y Siberia.
Identificar problemas de rendimiento antes que impacte a los usuarios del negocio
Definir estrategias de atención a alta demanda para no afectar la experiencia del usuario
Pruebas de Carga
Pruebas de Escalabilidad
Carga +
escalabilidad
Pruebas Soak
Pruebas de Volumen
Estrés,
Pruebas de picos Sostenibilidad
Pruebas de Red
Pruebas de Benchmarking
TIPOS DE PRUEBA
Sesión de
1 2 3 usuario, con 3
pasos o
acciones.
Tiempo de
Sesión
Simultáneos 1 minuto.
Concurrentes
1 2 3
Concurrentes
1 2 3 1 2 3
Usuarios
Concurrentes
1 2 3 1 2 31 2 3
PROGRAMACIÓN
1 2 3 1 2 3 1 2 3 1 2
1 2 3 1 2 3 1 ORIENTADA
2 3 1 A OBJETOS
1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
Tiempo
Tiempo de
Sesión
BASELINE
Los casos de prueba son puramente estratégicos, donde juega como armar los lotes
según las reglas del negocio, simular condiciones de estado en cuentas, franquicias de
tarjetas, afiliados, extractos, bonos, entre otras, que son el tipo de información que
suelen manejar las grandes empresas en sus mainframes.
PRUEBAS AS-400
Que se mide en pruebas de performance para AS400
1. Tiempo de ejecución con 1, 2, 3, 5…..n procesadores asignados
2. Cumplimiento de SLA o criterio de aceptación para finalización de un proceso
3. Tiempo de respuesta con 25% de volumen de carga, con 50%, con 75%....
100…125%
4. Volumen de data procesada por unidad de tiempo con paralelismo y sin
paralelismo
Herramientas propias de IBM, las cuales vienen en caja cuando una compañía
implementa tecnología AS400:
• IBM iDoctor
• IBM iNavigator
• JobWatcher
PRUEBAS CLIENTE SERVIDOR
Las pruebas de performance en standalone, al igual que en Web, miden los
tiempos de respuesta del sistema y su esfuerzo en requerimiento de hardware.
El diseño de script se hace mediante herramientas de grabación de movimientos en
pantalla ya sea por reconocimiento de objetos [botones, menú contextual, barras,
checkbox, textbox] o mediante coordenadas x,y.
Al igual que pruebas en web applications, las pruebas en app Mobile también se basan
en diseño de scripts a través de protocolo web de dispositivos móviles, ya sea
capturando el tráfico de peticiones y respuestas (intercambio de datos) desde el mismo
celular o Tablet, como también desde emuladores Android, IOS, Windows Phone etc.
Native applications:
Son las apps codificadas ya sea mediante Objetive C for Ios, Java for
Android y la propia API atada a la tecnologia del dispositivo. (App Atore,
Play Store)
Web applications:
Son las apps construidas con HTML, Javascript, y que puede ser accedidas
desde un browser en el dispositivo móvil. Ejemplo m.Gmail.com,
m.eltiempo.com, m.Facebook.com
Hybrid applications:
Aquí la parte nativa comúnmente se deja en elementos de página como
botones o menu’s contextuales, luego el contenido principal como noticias,
artículos, productos etc se muestra en navegadores embebidos (bajo html,
js). Ejemplo Facebook y Linkedin.
HERRAMIENTAS
HERRAMIENTAS
Cada tipo de prueba requiere de una herramienta para diseño y ejecución y a veces
otra herramienta aparte para monitoreo, sin embargo hay casos donde una sola
herramienta puede desempeñarse para las 3 cosas.
En performance testing hay variedad de herramientas que cubren diseño de
escenarios (scripts), por ende pueden ejecutar las cargas y monitorear
paralelamente los recursos de servidores.
Sin embargo los ambientes de hoy y las restricciones de seguridad y algunas
limitantes de presupuesto hacen que el monitoreo se realice con herramientas
internas del ambiente del cliente.
Nombre Fabricante
Neoload Neotys
Load Runner HP
SIlk Performer Microfocus (antes Borland)
Wapt Softlogical
Rational Performance IBM
HERRAMIENTAS PROTOCOLO HTTP
Las más reconocidas en el mercado y de modalidad free
son:
Nombre Fabricante/Autor
Jmeter (java) Apache Community
The Grinder (java) Free Software community
Gatling (basado en scala) Gatling Corp
Httperf HP
Buena práctica:
Este tipo de pruebas son complejas de desarrollar por las siguientes características:
Por cada usuario virtual a simular debe existir una sesión de Windows / Linux
propia
Dado que cada UV necesita su propia sesión, se debe incurrir en gastos para
contar con tantas máquinas como usuarios a simular.
Buena práctica:
Nombre Fabricante
UFT + Vugen HP
SIlk Performer +SILKTEST (4J, .4Net) Microfocus
Scapa test Platform + Wintask Scapa Tech
HERRAMIENTAS DISPOSITIVOS MOVILES
Las herramientas robustas en el mercado como Neoload, Silk Performer,
Load Runner y Wapt vienen con funcionalidades para capturar tráfico
entre dispositivos móviles y el servidor.
Las herramientas más comunes y que son comerciales son sólo para
monitoreo y supervisión de rendimiento en servidores, pero son
especializadas en monitoreo profundo:
Nombre Alcance
Spotlight Bases de datos, Sistemas Operativos, Web Servers
Manage Engine Bases de datos, Sistemas Operativos, Web Servers, Application Servers, Profiling
Ruxit Bases de datos, Sistemas Operativos, Web Servers, Application Servers, Profiling
New Relic Bases de datos, Sistemas Operativos, Web Servers, Application Servers, Profiling
App Dynamics Bases de datos, Sistemas Operativos, Web Servers, Application Servers, Profiling
Dynatrace Bases de datos, Sistemas Operativos, Web Servers, Application Servers, Profiling, balanceadore
TIVOLI Bases de datos, Sistemas Operativos, Web Servers, Application Servers, Profiling, para IBM
Willy Bases de datos, Sistemas Operativos, Web Servers, Application Servers, Profiling
Nagios Bases de datos, Sistemas Operativos, Web Servers, Application Servers
Inavigator, JobWatcher AS400
MONITOREO DE RECURSOS
Las siguientes herramientas free son sólo una alternativa para cuando
no es posible usar las antes mencionadas:
Nombre Alcance
Perfmon.exe Herramienta propia de Windows Servers
NMON Herramienta para monitoreo de servidores AIX de IBM y también para Linux
VisualVM Monitoreo de JVM a nivel de métodos y clases para aplicaciones Java
Nunca suponer
También podremos ver que hay datos de session que son los identificadores que permiten
navegar con autorización entre cada página.
La variabilidad de parámetros:
Hacer un Verify Virtual User, es decir un smoke test al script al menos con 5 usuarios
concurrentes para revisar que cada sesión realizada fluyó sin problema por toda la
transacción, que su inicio y cierre de sesión fueron correctos, lo que garantiza que
no quedaran sesiones abiertas ocupando memoria en servidor a causa de un error
de script y no de aplicativo objeto de prueba.
Contar con set de datos para Logins de usuario, para llenado de formularios, contar
con archivos poblados en caso de requerirse simular archivos adjuntos
Evitar tener request de llamados a páginas por fuera del aplicativo a probar (google
analytics, links a facebook, etc)
En este tipo de pruebas, el diseño es grabar un paso a paso por cada ventana de
formulario sin interesarnos en los datos internos de petición y respuesta, pues no es
http, por tanto la forma de capturar valores que vienen en una pantalla o formulario se
hace a través de funciones que la herramienta trae para reconocimiento de texto OCR,
reconocimiento de bitmaps o captura de área X,Y, y llevar el valor capturado o escaneado
a una variable, tarea de la que se ocupa la herramienta de forma automática.
También se debe tener en cuenta que si el escáner OCR no detecta la cadena que
queremos capturar, hay que recurrir “por la última” a usar captura por coordenada lo
cual es muy impreciso y causa fallos constantemente al momento de ejecutar los scripts.
Los tiempos de respuesta que la herramienta captura se hace con ayuda del programador
del script ya que durante la grabación del paso a paso debe marcar un temporizador que la
herramienta dispone para cronometrar.
PLAN DE PRUEBA - DISEÑO
RENDIMIENTO
CORRELACION Y
METRICAS
CORRELACION Y METRICAS
Un script bien diseñado procura incurrir en riesgos de enviar malas peticiones (bad request)
al servidor, como también nos puede ayudar a obtener métricas más acertadas del escenario
simulado. Estas métricas son comúnmente tiempos de respuesta y consumos de hardware
en servidores.
Si el aplicativo es lento, pero las máquinas y la red muestran total disposición de recursos
suficientes, quiere decir que hay problemas de arquitectura de software que ameritan ser
analizados mediante profilers y analizadores de código (tarea de desarrollador)
CORRELACION Y METRICAS - ANALISIS
A nivel de máquinas: Si el servidor de aplicaciones muestra problemas de
performance en CPU o Red, se debe correlacionar con el servidor que le envía datos,
suele ser el de base de datos y quizás el cuello de botella se formó allí.
Si se esta ejecutando pruebas sobre Unix, Linux, Solaris, se debe revisar como se
comportan la memoria ram y la memoria virtual, como se degradan cada uno de los
cores de CPU a medida que se incrementan los usuarios concurrentes.
También en Servidor
Poxy HTTP se
configuran los patrones a
excluir o URLs que no
serán tenidas en cuenta
tales como extensiones
bmp|css|js|gif|ico|jpe?g|p
ng|swf|woff
JMETER
JMETER
Variables: Configuración
los valores dinámicos de
la prueba, por ejemplo
usuario y contraseña
JMETER
EXPRESIONES REGULARES