El documento describe las pruebas de rendimiento en Visual Studio 2010, incluyendo la creación de web tests y pruebas de carga, su ejecución, y el análisis de resultados. Explica cómo simular cargas de trabajo y condiciones de estrés para comprobar la respuesta y disponibilidad del sistema. Además, cubre la planificación de pruebas de rendimiento y el uso de herramientas como Load Test y Test Rig.
Pruebas de carga sobre aplicaciones web con Visual Studio 2010
1. Pruebas de rendimiento en VS2010
Luis Fraile – ALM Division Manager
luis.fraile@globealm.com
http://www.globealm.com
http://www.globetesting.com
@globetesting
@lfraile
2. ● Las pruebas de rendimiento
● Creación de web tests
● Edición de web tests
● Creación de pruebas de carga
● Ejecución de pruebas
Agenda
● Revisión de resultados
4. ¿Pruebas de rendimiento?
Simulación de procesos de negocio
Simulando condiciones de carga
Pruebas continuadas de disponibilidad
Objetivo:
• Comprobar la respuesta ante carga y disponibilidad
5. Un experimento
Microsoft y Google experimentaron a introducir delays
artificialmente
Menor
Menor volumen
satisfacción de
Cambios: usuario (1%
de uso de
servicios
aprox.)
Cuando El volumen de
volvieron al uso de servicios
rendimiento no volvió al
anterior
habitual:
6. El rendimiento está en los ojos del que mira
Rendimiento
• Un aplicación con un buen rendimiento es aquel que permite al
usuario realizar sus tareas sin una percepción de lentitud en la
aplicación.
¿Por qué hay problemas de rendimiento?
• Mirar el rendimiento de todas las capas bajo carga, y solucionar
problemas de rendimiento en las capas que no rindan
7. Rendimiento, carga, stress…
Preguntas
Respuestas
• Sera lo suficientemente • Pruebas de
rápida? rendimiento
• Soportara a todos mis
clientes? • Pruebas de carga
• Que pasa si algo sale
mal? • Pruebas de stress
• Que tengo que planear
para cuando mi
• Pruebas de capacidad
numero de clientes
crezca?
8. La Receta
Planificación Estrategia Pruebas Entorno Pruebas +
Diseño Casos de
Configuración
Pruebas de
Instalación
EstrategiaBase
InformePruebas
SmokeTest
Línea Test
SOAK Final
Scripting
Stress
DatosRendimiento
Herramientas
Monitores
Prueba
Entorno Pruebas + Instalación Diseño Casos de •Establecer expectativas
Datos Herramientas Prueba
•Planificaciónun las de
•Prueba iterativo
•Procesoopcional
•Establecerdecasos
•Verificar de fases
•Convertirlas las
•Selecciónlosdel
•Herramientas de
•Configuración Entono
•Sumario
•Transacciones proyecto
Pruebas Carga
Configuración
Monitores
Scripting •Descripción scripts
•Solo si
•Mínimo ejecutadas,
estándarde
anteriores (pre-prod)
pruebatodas entorno
métricas2decarga
•Validacioneslas
pruebaseniteraciones
de pruebasdelde
•Identificación inicial
problemas
pruebas anteriores
comparación
•No aporta texto
automatizados
“potencialmente
imágenes datos
•Herramientas de
•Carga deyvalor al son
Preparación
Smoke Test proyectoOtros
responsables datosvaria
encontrados
satisfactorias
•Si complejidad
•Lael rendimiento
interesantes”
•Juegos de y
monitorización denosi
continuar
•Descripciónaportadas
soluciones
es función
esta fase de
en bueno, de los
•Selecciónno se
sistemas no seladebe
Línea Base escenariosen exceso
continuar con
completade otros
herramienta pruebas
métricas avanzadas
•Otras herramientas
•Detallar
Análisis + Cambios +
Pruebas de cada escenario
tipos de pruebas
correctamente
seleccionada de
(reporting...)
•Descripción de los casos
Informes
Rendimiento pruebas ejecutado no
de prueba
Soak Test Pruebas Carga Otros •Descripción de los
aporta valor
monitores
Ejecución Stress •Documento “vivo”
Cierre Informe Final
10. Entendiendo los Web Test
Lista de las solicitudes y
No ejecuta secuencias de
Trabaja en capa HTTP recopilación de datos de
comandos del cliente
tiempo
Se comunica directamente
Utilizado principalmente
No se interacciona con el con el servidor mediante
para la generación de
navegador mensajes de solicitudes y
carga en un servidor
respuestas HTTP estándar
12. Ejecución de Web Tests
Se van reproduciendo Revisión de las
Se coleccionan los Se muestra el
las peticiones peticiones en vista de
resultados resultado global
grabadas resultados
El panel superior muestra el estado de las El panel inferior muestra más detalles a
solicitudes individuales esas peticiones
14. Web Tests … más allá
Edición desde Visual Studio 2010
Adición de información
• Comentarios
• Think times
Validaciones
• Respuestas
• Tiempos
• Errores HTTP
Generación de código
15. Think times
¿Navegas tan O ¿te quedas en
rápido como sea cada página un
posible? rato?
Utilizados
Think times permite opcionalmente
simular esto durante la
reproducción
16. Objetivo de tiempo de respuesta
No se establece
de forma
predeterminada
Un aspecto de • El tiempo que tarda cada
aplicaciones página Web en cargar
Web
• Debe cumplir la carga de la
Nivel de cada página una todas las
petición web solicitudes dependientes
18. Load Tests de Visual Studio
Ejecución de pruebas (Web Test) simulando usuarios
Se ejecutan:
•Local
•Test Agents
Se obtienen contadores de rendimiento
Objetivo es pruebas de rendimiento:
•Stress
•Disponibilidad
•Carga
•…
19. Herramientas Load Test
SQL-BASED
LOAD TEST LOAD TEST LOAD TEST
LOAD TEST EDITOR RESULTS
WIZARD MONITOR ANALYZER
REPOSITORY
Mantiene en Contiene los
memoria una datos de Resultados de
versión reducida contadores de pruebas
Para crear una Edición de las
de los datos de rendimiento y anteriores
nueva prueba de pruebas de carga
rendimiento cualquier grabados para
carga. a posteriori
mientras se información obtención de
realiza una sobre los errores informes
prueba. registrados.
20. Definición
Mezcla de
Patrón carga Simulación de
Tests a ejecutar usuarios y
de usuarios red
tests
Simulación Configuración Contadores
user-agents de ejecución rendimiento
22. Ejecución de Load Test
Se muestra el
Desde Visual
panel de
Studio 2010
contadores
Almacenado en
Seguimiento en
SQL Server
tiempo real
(Express también)
23. Revisión resultados
Almacenados en SQL Server
Se abren desde la edición Load Test
Vista de detalle de resultados
• Contadores
• Usuarios virtuales
• SQL Trace
Importación / exportación
25. Arquitectura Test Rig
Test Agent
Test Controller
Ejecución
tests
Test Agent
Aplicación
Repositorio
resultados
Contadores rendimiento
Todos los derechos reservados // Globe Testing
27. Obtención de informes
En base a resultados almacendados
Informes de Excel
• Tendencia
• Comparación
Generados automáticamente con toda la información