Testing de Performance: estresando aplicaciones Genexus



Documentos relacionados
Testing de Performance aplicando metodologías de ingeniería del Software y experiencias de su aplicación en Uruguay

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

Visión General GXflow. Última actualización: 2009

Gustavo Vázquez. Jornada de Testing en Vivo - 1, 2, 3 probando!

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Visión General de GXportal. Última actualización: 2009

Sistema de Gestión de Proyectos Estratégicos.

Comparación entre Active Reports, Crystal Reports, y MS Reporting Services

Descripción. Este Software cumple los siguientes hitos:

Visión General GXplorer. Última actualización: 2009

Durante la determinación del problema dentro de los procesos de mercadeo de R & S Training se pudo notar notables deficiencias en las relaciones con

ERP IDS-Fabricación. También se puede utilizar cualquier lenguaje del mercado para realizar adaptaciones, apoyándose en ODBC para el acceso a datos.

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

NOS ASEGURAMOS DE ENTREGAR SERVICIOS DE CALIDAD ACORDE A SUS NECESIDADES

Capítulo 5. Cliente-Servidor.

SLIDEFINDER: Una herramienta universal y gratuita para clasificar, buscar y compartir imágenes e información en la Web

Sistema en Terreno SmartPhone Android

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

MÓDULO OPTATIVO e Bussines

TOPICOS IV: ING. YIM APESTEGUI FLORENTINO

3. DESARROLLO DE SISTEMAS INTERNET. DESARROLLO DE SISTEMAS DE DE INFORMACIÓN

SMV. Superintendencia del Mercado de Valores

Soluciones informáticas

INFORME TECNICO PARA ADQUISICION DE SOFTWARE PARA EL MONITOREO DE INTEGRADO DE INFRAESTRUCTURA

POR QUE VERYSTOCK NET:

Generador GeneXus JAVA

MATERIAL DE TRABAJO 1. Evaluación del software

Monitorización de sistemas y servicios

CAPITULO V. IMPLEMENTACIÓN DE UNA HERRAMIENTA INTEGRADA DE RED

Maquinas virtuales Conceptos Básicos

SISTEMA INTEGRAL DE GESTION DE MEDICINAS PREPAGAS Y OBRAS SOCIALES SYMPIOS

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

SOLUCIONES DE SOFTWARE CONFIABLES

Producto. Información técnica y funcional. Versión 2.8

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Soporte. Misión y Visión

Bechtle Solutions Servicios Profesionales

SMSPymeX: SISTEMA AUTOMATIZADO DE RECEPCIÓN DE PEDIDOS MEDIANTE MENSAJES DE TEXTO SMS

Mejores prácticas en las pruebas de aplicaciones móviles

Sistema PYMES Ventas e Inventarios H&S

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

ing Solution La forma más efectiva de llegar a sus clientes.

PRU. Fundamento Institucional. Objetivos. Alcance

Testing de Performance

Solución de Help Desk

Guía Metodológica para el diseño de procesos de negocio

Solinsoft S.A.S. Portafolio de servicios

Reporte Técnico RT Metodología para Pruebas de Desempeño

Eficiencia en la Automatización y Gestión de Servicios

I. DATOS DE IDENTIFICACIÓN. 1. Unidad Académica: _Facultad de Ciencias

UT04 01 Máquinas virtuales (introducción)

Bienvenidos a la presentación, producción de informes y depuración (debugging). En esta unidad discutiremos la producción de informes utilizando la

Ventajas del software del SIGOB para las instituciones

Sistema de Control de Accesos API-WIN

Definición del Sistema de Gestión de Seguridad de la Información (SGSI) ALCALDÍA DE SANTA ROSA DE OSOS

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Empresa Financiera Herramientas de SW Servicios

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

Eagle e Center. Tel Bogotá Colombia. estadístico que genera reportes gráficos y consolidados de esta información.

Programas Análisis (Control de Nuestro PC)

Introducción a JDBC - Base de datos con Java

emuseum PUBLIQUE SUS COLECCIONES EN LA WEB Por qué elegir emuseum? Se integra fácilmente con TMS Búsqueda eficaz Completamente personalizable

SSTQB. Nivel Fundamentos. Examen ejemplo. Programa de estudios 2010

Midiendo la efectividad de su programa de seguridad de información. Iván Campos 28 de Mayo de 2014

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE

Análisis de aplicación: TightVNC

Capitulo 3. Desarrollo del Software

Catálogo de Servicios

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE N GRC/GGR/OSIE. 4. CARGO : Jefe de la Oficina de Sistemas, Informática y Estadística.

LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD

Señor A/P. Lino Bessonart FEMI Presente Ref.: 181/2009

Sistema de Control de Accesos

Internet Information Server

Hacking en 5 pasos usando Software libre

Popularidad comparada de PHP vs ASP, y posibles causas

INFORME TECNICO PREVIO SOFTWARE DE SOPORTE ANALIZADOR DE REDES

Proyecto Meta! Implementación SAP Fase 1 Testing

Servicios TIC. Propuesta educación Universidad

Universidad Mayor de San Andrés Facultad de Ciencias Puras y Naturales Carrera de Informática. ired. Sistema de Inventario de Red

Presentación de Pyramid Data Warehouse

Como ejecutar el programa PRUF. Cía. HASAR saic

Service Oriented Architecture: Con Biztalk?

NUEVAS TENDENCIAS EN LA CALIDAD DEL SOFTWARE IGNACIO BAYUGAR

SERVICIO DE ASEGURAMIENTO DE LA CALIDAD DE SOFTWARE (Q.A.)

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

Transcripción:

Testing de Performance: estresando aplicaciones Genexus CENTRO DE ENSAYOS DE SOFTWARE Federico Toledo Matías Reina

Testing de Performance Performance Velocidad en la cual un sistema de información procesa transacciones (interactivas o no) Requerimiento no funcional del sistema Test de Performance Medir la Performance del sistema Medir atributos de calidad

Por qué hacer testing de performance? Conocer la performance con la que el usuario percibe al sistema Ver si el sistema soporta una determinada carga Detectar los cuellos de botella del sistema Analizar la estabilidad de la aplicación Dimensionar ( sizing ) el sistema Tunear el Hardware o Software de Base Mitigar riesgos de cambios tecnológicos

Por que Testing de performance en aplicaciones GX? Genexus acompaña y facilita los cambios tecnológicos hay que garantizar que la performance va a ser adecuada en la nueva tecnología hay que adaptarse a la nueva plataforma nuevo hardware nuevo software de base

Costo/Beneficio Una prueba de performance implican costos Infraestructura Horas Herramientas Evaluación tardía del sistema Se requieren pruebas previas a nivel funcional Cuanto cuesta no hacerlo?

Etapas de un test Existen metodologías para los test de performance Nosotros tenemos la nuestra Basada en las existentes Adaptada a nuestra realidad En cada etapa Objetivos de la misma Particularidades con aplicaciones GX

Etapas Relevamiento de Requerimientos Preparación Infraestructura

Relevamiento de Requerimientos

Relevamiento de Requerimientos Se relevan datos referentes a cómo se ejecutará el sistema Transacciones a probar Escenarios de Carga Número de usuarios concurrentes Mezcla de las transacciones Tiempos aceptables de respuesta Infraestructura Datos de Prueba GXFlow (donde lo ponemos) Definición de Escenarios Preparación Infraestructura

Que cambia con aplicaciones GX? Se me ocurre que podríamos comentar que es importante conocer el esquema de la BD para poder sacar los datos para los parámetros no? Pero esto también se puede comentar en la parte de Si bien GX permite generar en varios lenguajes es importante acotar el proyecto a una plataforma dada. Hay que definir esta plataforma Definición de Escenarios Preparación Infraestructura

Porque automatizar? Opciones para reproducir 500 usuarios en un escenario determinado 500 usuarios reales Grupo de coordinación 500 PCs 500 guiones 500 usuarios simulados Utilizando herramientas de generación de carga Definición de Escenarios Preparación Infraestructura

- Pasos Completar el guión Grabar script original Generalización Ajustar comportamiento de usuarios Programar captura de errores Realizar Pruebas Definición de Escenarios Preparación Infraestructura

Herramientas de automatización Las herramientas grabación generan un script con las acciones que se realizan sobre la aplicación. Este script podemos utilizarlo para reproducir las operaciones Acciones Pantallas Request (A) Response (A) Request (A) Response (A) Herramienta Definición de Escenarios Preparación Infraestructura

Herramientas-Protocolos Las herramientas trabajan a nivel de protocolo GeneXus genera aplicaciones que se comunican con distintos protocolos Se deben conocer herramientas que permitan realizar pruebas de performance con distintos protocolos

Herramientas-Protocolos Pagas Gratis LoadRunner QALoad SilkPerformer WebLoad 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 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

Aplicaciones GX Scripts susceptibles a: Nuevas versiones De la aplicación (SUT) Generador de GX Cambios en la BD Parámetros de la aplicación Muchas veces viajan ocultos en el HTML Aplicaciones Web Uso de Ajax Tamaños de post muy grandes Esfuerzo X% del total de horas del proyecto Aplicaciones GUI Conocer la lógica de la aplicación Definición de Escenarios Preparación Infraestructura

Relevamiento de Requerimientos Preparación Infraestructura

Infraestructura? Todo aquello que no es nuestro sistema pero lo necesitamos para ejecutar el test Hardware Software de base Herramientas para el test Generación de carga Monitorización Definición de Escenarios Preparación Infraestructura

Genexus: plataformas soportadas Plataformas de ejecución JAVA, Microsoft.NET, Pocket PC Sistemas Operativos IBM OS/400, LINUX, UNIX, Windows NT/2000/2003 Servers, Windows NT/2000/XP, y Windows Mobile Internet JAVA, ASP.NET, Visual Basic (ASP), HTML, WebServices Bases de Datos IBM DB2, Informix, Microsoft SQL Server, MySQL, Oracle, PostgreSQL Servidores Web Microsoft IIS, Apache, WebSphere, etc.

Estado de la infraestructura Definición de Escenarios Preparación Infraestructura

Herramientas de Monitorización Es importante analizar la infraestructura Permite descubrir las causas Lo que se mide a nivel del cliente son solo los síntomas Definición de Escenarios Preparación Infraestructura

Herramientas de Monitorización NT Performance Windows(NT 4.0 +) Tiene una herramienta de monitorización y API Se puede extender Los productos de Microsoft lo hacen Permite monitorización descentralizada Solo POP NMON Sistemas basados en Unix Muy poco intrusivo Fácil de usar Excelente para reportes Toda la información necesaria sobre el sistema operativo Definición de Escenarios Preparación Infraestructura

Herramientas SNMP JMX hablar todo lo que se quiera de JMX, como activarlo que nos brinda, etc WMI - hablar todo lo que se quiera de WMI, como activarlo que nos brinda, etc Monitor Humano o Testigo Es útil tener un usuario real que interactúe con el sistema en la generación de carga Da una visión subjetiva de los tiempos de respuesta Definición de Escenarios Preparación Infraestructura

Relevamiento de Requerimientos Preparación Infraestructura

Ejecución de las pruebas Pasos Generar la carga Ejecutar los scripts con la herramienta Recrear los escenarios definidos Recolectar y analizar los datos Tomar los datos de los distintos monitores Generar reportes Analizar resultados Realizar correcciones Definición de Escenarios Preparación Infraestructura

Generar carga Con la herramienta de generación, reproducir el escenario ya definido Recordar que la manera en que se ejecuta la generación depende del tipo test a realizar Definición de Escenarios Preparación Infraestructura

Recolectar y analizar datos Es importante contar con todos los datos tanto del lado del cliente como del resto de la infraestructura Prestar atención a los distintos datos El dato más insignificante puede ser la causa de un problema El 20% de los datos nos da el 80% de la información. Definición de Escenarios Preparación Infraestructura

Métricas Usuales Tiempo de respuesta demora entre envío del último bit del pedido y recepción del primer bit de la respuesta Números de usuarios la cantidad de usuarios concurrentes Percentil 90 Valor X tal que los valores menores a este representen el 90% de la muestra Definición de Escenarios Preparación Infraestructura

Realizar correcciones Los incidentes de performance pueden tener dos causas Lógica Infraestructura Solo analizando los datos y lo monitorizado podemos ver donde esta el defecto Definición de Escenarios Preparación Infraestructura

Realizar correcciones Algunos incidentes comunes Bloqueos de tablas Seteos de máquina virtual Algoritmos mal programados Zonas de mutuo exclusión Problemas de perdida de memoria Mal dimensionamiento... Es importante ver donde está el cuello de botella. Definición de Escenarios Preparación Infraestructura

En resumen Transacciones a probar Número de usuarios concurrentes Mezcla de las transacciones Tiempos aceptables de respuesta Infraestructura Base de Datos Determinar guión Grabar script original Generalización Ajustar comportamient o de usuarios Programar captura de errores Hardware Software de base Herramient as para el test Generar la carga Recolectar y analizar los datos Generar reportes Analizar resultados Realizar correcciones

Conclusiones Pruebas de Performance Ventajas importantes en hacer pruebas de performance Valor agregado a las aplicaciones Grandes posibilidades de mejora

Conclusiones Genexus No es sencillo realizar la automatización Se puede hacer con herramientas opensource Ejecución GeneXus brinda buenas posibilidades de monitorización Hay que conocerlas y aprovecharlas

Si están interesados PerfTestPlus http://www.perftestplus.com/pubs.htm Sticky Minds http://www.stickyminds.com Blob de Performance http://www.myloadtest.com/ Herrmientas free http://www.opensourcetesting.org/performance.php http://www.opensta.org