Por favor, use este identificador para citar o enlazar este ítem:
https://hdl.handle.net/20.500.12008/22324
Cómo citar
Título: | Testing de performance en sistemas críticos: una nueva metodología y aplicaciones |
Autor: | Guimerans, Gustavo |
Tutor: | Robledo Amoza, Franco Risso Montaldo, Claudio Varela Ricco, Martín Cornes, Cristina Almansa, Andrés |
Tipo: | Tesis de maestría |
Palabras clave: | Testing de performance, Metodología, Protocolos, Sistemas distribuidos |
Descriptores: | SOPORTE LOGICO DE COMPUTADORES, ENSAYO |
Fecha de publicación: | 2016 |
Resumen: | El nuevo mundo es digital y crece a un ritmo sin precedentes. Se estima que hasta 2003 la
humanidad había creado y almacenado digitalmente una cantidad de información equivalente
a la que hoy se genera a diario. En la actualidad la mayoría de los procesos masivos, así como
los datos y contenidos tanto públicos como personales, están informáticamente soportados.
Por su creciente importancia y transversalidad a todos los sectores, los sistemas se han
constituido en uno de los activos más críticos para las organizaciones. Buscando elevar la
confiabilidad de esos sistemas, se recurre a diversas combinaciones de múltiples prácticas
como ser: alta disponibilidad y performance de los componentes de los sistemas, procesos de
desarrollo estandarizados y depurados en el tiempo, y el “testing de software”, entre otros. El
testing en particular busca una validación independiente sobre los requerimientos que un
componente o sistema debe cumplir, y tiene múltiples variantes. En lo que hace al tipo de
requerimiento destacamos: funcionales (si el resultado de las acciones es el esperado),
performance (si soporta el nivel de carga o el volumen de datos necesario) y seguridad
(capacidad para resistir fallas, o ataques intencionales). El objeto de esta tesis es introducir una
metodología que sirva como marco de trabajo para realizar “pruebas de performance”, y
presentar además tres aplicaciones reales complementarias donde se constate su efectividad.
El “testing de performance” es un área de vanguardia, de alta complejidad, que requiere entre
otras cosas el costoso desarrollo de una plataforma para interactuar con el sistema a probar.
Es usual entonces que a la hora de priorizar pruebas, las organizaciones se inclinen hacia los
aspectos funcionales, o incluso los de seguridad, en muchos de los cuales se puede avanzar sin
enfrentarse a grandes dificultades tecnológicas. Esto es razonable para una pequeña empresa
o para una aplicación con pocos usuarios o datos a manejar, pero es inaceptable en las grandes
organizaciones, que son precisamente las que más dependen de la informática. Durante este
trabajo no sólo veremos cómo aplicar la metodología a aplicaciones de distintos contextos
tecnológicos, veremos además cómo los resultados de esas pruebas ayudan a optimizar el
desempeño de los sistemas con mínimos ajustes en los componentes. Los casos son entonces
evidencia de que incluso los sistemas soportados sobre componentes de hardware y software
de tipo world-class, pueden no cumplir las condiciones mínimas para entrar en producción aún
cuando hayan pasado por un proceso de validación funcional, y muestran también que la
solución no necesariamente viene acompañada de inversiones en infraestructura.
La metodología aquí presentada fue co-desarrollada por el autor como miembro del Centro de
Ensayos de Software (CES), a partir de las mejores prácticas existentes combinadas y ajustadas
a la luz de la experiencia acumulada durante más diez de años en aplicaciones reales. Se
elabora en actividades agrupadas en etapas, cuyo fin se resume en: identificar las
transacciones representativas del uso esperado del sistema y los monitores para cuantificar su
desempeño; la implementación de esas transacciones en un framework que permita
automatizar la ejecución simultánea de combinaciones de múltiples instancias; la ejecución de
varios ciclos de pruebas en los que se identifican los problemas a partir del análisis de los datos
disponibles, se busca un diagnóstico y se repiten las pruebas explorando soluciones junto a los
expertos del sistema. Durante los últimos diez años, distintas versiones de esta metodología
han sido usadas en más de 20 organizaciones, algunas de las cuales atienden a más de 3000
usuarios, y ajustes de configuración mediante han permitido mejoras en los tiempos de
respuesta del sistema de hasta 1000%. Entendemos que los resultados son alentadores y
confiamos que se potenciarán por el creciente uso de sistemas distribuidos complejos,
particularmente en la forma del denominado “cloud-computing”. |
Editorial: | Udelar.FI |
Citación: | Guimerans, G. Testing de performance en sistemas críticos: una nueva metodología y aplicaciones [en línea]. Tesis de maestría. Montevideo : Udelar. FI. INCO - PEDECIBA, 2016. |
ISSN: | 1688-2792 |
Título Obtenido: | Magíster en Informática |
Facultad o Servicio que otorga el Título: | Universidad de la República (Uruguay). Facultad de Ingeniería |
Licencia: | Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
Aparece en las colecciones: | Tesis de posgrado - Instituto de Computación |
Ficheros en este ítem:
Fichero | Descripción | Tamaño | Formato | ||
---|---|---|---|---|---|
GG16.pdf | 13,76 MB | Adobe PDF | Visualizar/Abrir |
Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons