Pruebas de carga sobre aplicaciones web con Visual Studio 2010

3,630 views
3,376 views

Published on

Ya en el 2001, se proponía, que si una página web tardaba en responder más de 8 segundos, el 30% de los usuarios abandonaban la página.

Ha pasado mucho tiempo desde entonces, las redes son mejores, por lo que podemos, sin miedo, decir que esos 8 segundos ahora son mucho menos. Y sin embargo, las aplicaciones web cada vez son más complejas y ricas en contenidos, provocando que ante determinadas situaciones puedan colapsarse.

Por tanto, entre otras variables, tenemos una muy importante, y que puede significarlo todo a la hora de conseguir y manetener usuarios, ¿qué ocurre cuando tenemos un pico de carga de usuarios?¿deja de responder la aplicación?¿tarda más de x tiempo en cargar la página inicial?

Mediante las pruebas de carga con Visual Studio 2010, podremos simular estas condiciones contra nuestra aplicación web, como por ejemplo, simular la carga de X usuarios concurrentes, carga que va creciendo a lo largo del tiempo, etc. sobre escenarios críticos de nuestra aplicación, obteniendo así contadores de rendimiento, que nos permitan escalar correctamente nuestra infraestructura para no caer en errores, que provoquen que nuestros usuarios nos abandonen.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,630
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Pruebas de carga sobre aplicaciones web con Visual Studio 2010

  1. 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. 2. ● Las pruebas de rendimiento ● Creación de web tests ● Edición de web tests ● Creación de pruebas de carga ● Ejecución de pruebasAgenda ● Revisión de resultados
  3. 3. Tipos de pruebas
  4. 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. 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. 6. El rendimiento está en los ojos del que miraRendimiento • 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. 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. 8. La RecetaPlanificació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 sonPreparació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 monitoresEjecución Stress •Documento “vivo”Cierre Informe Final
  9. 9. Pruebas de rendimiento VS2010 Web Test // Load Test Test RigTest unitarios
  10. 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 directamenteUtilizado 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
  11. 11. Grabación Web TestDemo
  12. 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
  13. 13. Ejecución Web testsDemo
  14. 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. 15. Think times ¿Navegas tan O ¿te quedas en rápido como sea cada página un posible? rato? UtilizadosThink times permite opcionalmente simular esto durante la reproducción
  16. 16. Objetivo de tiempo de respuestaNo se establece de formapredeterminadaUn 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
  17. 17. Edición de Web TestsDemo
  18. 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. 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 anterioresnueva 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. 20. Definición Mezcla de Patrón carga Simulación deTests a ejecutar usuarios y de usuarios red tests Simulación Configuración Contadores user-agents de ejecución rendimiento
  21. 21. Creación Load TestDemo
  22. 22. Ejecución de Load Test Se muestra el Desde Visual panel de Studio 2010 contadores Almacenado enSeguimiento en SQL Server tiempo real (Express también)
  23. 23. Revisión resultadosAlmacenados en SQL ServerSe abren desde la edición Load TestVista de detalle de resultados• Contadores• Usuarios virtuales• SQL TraceImportación / exportación
  24. 24. Ejecución / revisión resultadosDemo
  25. 25. Arquitectura Test Rig Test Agent Test Controller Ejecución tests Test Agent Aplicación Repositorio resultados Contadores rendimientoTodos los derechos reservados // Globe Testing
  26. 26. Test RigDemo
  27. 27. Obtención de informes En base a resultados almacendados Informes de Excel • Tendencia • Comparación Generados automáticamente con toda la información
  28. 28. InformesDemo
  29. 29. Conclusiones Pruebas de Desde el Planificación rendimiento inicio y entornosTodos los derechos reservados // Globe Testing
  30. 30. Muchas graciasluis.fraile@globetesting.com

×