El documento describe los pasos para realizar pruebas de desempeño completas, incluyendo definir requisitos no funcionales, considerar atributos de calidad, criterios de volumen de usuarios y datos, herramientas de prueba, ejecutar pruebas con diferentes escenarios, y reportar resultados basados en métricas y criterios de aceptación.
2. • ¿Qué es un requerimiento no funcional?
Son criterios/restricciones técnicos que afectan la operación del sistema, más no su
funcionalidad
• ¿Qué es SMART?
Por sus siglas en inglés
Specific
Measurable
Attainable
Realizable
Traceable
Levantando el requerimiento…
3. • ¿Qué atributos de calidad debo considerar?
• Desempeño
• Disponibilidad
• Seguridad
• Escalabilidad
• Portabilidad
• Usabilidad
• Entre otros…
Levantando el requerimiento…
4. • ¿Qué criterios debo considerar?
• Volumetría
• Universo de usuarios del sistema
• Universo de registros de la BD
• Recursos del sistema
• Días y horas pico
• Escenarios de operación lo más reales posibles
• Concurrencia
• Usuarios utilizando la aplicación al mismo tiempo
• Flujos de negocio
• Escenarios de alto impacto al negocio
• ¿Y las herramientas?...
• ¿Y los riesgos?...
Analizando y diseñando la prueba…
5. • ¿Con las herramientas que tengo puedo lograr la volumetría que necesito?
• Es necesario el uso de agentes
• ¿Qué comportamiento deben tener los threads de los agentes?
• Rampa, escalón, constante
• ¿Estresando el sistema o estresando a los agentes?
• Debemos conocer el límite de nuestros agentes
• ¿Y el rendimiento del sistema?
• du, df, hdparm, ps, who, vmstat, iostat, top
• ¿Cuáles son los parámetros adecuados de uso de recursos?
• 75% uso de memoria, 75% uso de procesador, tiempo de respuesta de threads
• ¿ Qué otros parámetros…?
• Pool de conexiones a BD, Pool de conexiones HTTP, workers, threads…
Ejecutando la prueba…
7. Reportando el resultado…
• Basado en métricas y criterios de aceptación…
• Soporta la volumetría esperada puesto que los tiempos de respuesta oscilan entre los X y
Y segundos…
• El % de uso de procesador y/o memoria no supera el XX%
• El tiempo de escritura en HDD, CFS, NFS, es de XX segundos
• El uso de espacio en disco fue de XX MB
• La cantidad de registros inicial y final en la BD fue de XX
• El tiempo de respuesta de los querys del sistema fue de XX segundos
• Y las recomendaciones…
• Los parámetros de configuración de Apache, Weblogic, Nginx, IIS, Jboss, etc. Son los
adecuados? Son los default? Cuánta memoria tienen disponible? Los time outs están
homologados?
• Los tamaños de los table spaces son suficientes?
• El uso de espacio en disco cuando se terminará? Cuándo hay que hacer depuración?
• Los elementos en pantalla son los adecuados? Qué tamaño deberían tener? Hay uso de
caché?