En el anterior post definimos el conjunto de pruebas de QA y os indicamos algunas recomendaciones útiles si queremos emplear herramientas software para la realización de pruebas funcionales. En este post nos centraremos en las pruebas de rendimiento y mostraremos algunos consejos que pueden ayudar a los usuarios en la ejecución de dichas pruebas.
Las pruebas de rendimiento son un conjunto de pruebas no funcionales que se realizan, para determinar la velocidad de ejecución de una tarea concreta en un sistema bajo condiciones particulares de trabajo.
Los objetivos de estas pruebas son:
- Validar y verificar atributos de la calidad del sistema: uso de los recursos, escalabilidad y fiabilidad.
- Comparación de sistemas para encontrar cuál de ellos funciona mejor.
- Determinar qué componentes del sistema provocan que el conjunto .presente rendimientos bajos.
Tipos de Pruebas de Rendimiento
- Prueba de Carga => Load Test
Prueba de rendimiento que se realiza para observar el comportamiento de una aplicación bajo una cantidad de peticiones esperada.
Objetivos:
- Mostrar los tiempos de respuesta de todas las transacciones importantes.
- Localizar los ‘cuellos de botella’ de una aplicación.
2. Pruebas de Estrés => Stress Test
Prueba de rendimiento que se realiza para observar el comportamiento de una aplicación bajo una cantidad de peticiones extrema.
Objetivos:
- ‘Romper’ la aplicación.
- Determinar cómo rendirá la aplicación si la carga real supera a la carga esperada
3. Otras Pruebas: de picos, de estabilidad, …
A la hora de efectuar pruebas de rendimiento empleando herramientas de software, es necesario que el departamento de QA, defina un escenario lo más real posible, es decir, lo más semejante a las situaciones de funcionamiento en el entorno. Las configuraciones generales que se pueden realizar empleando este tipo de software se describen brevemente a continuación:
Propiedades de configuración de escenario de pruebas de rendimiento
- Perfil y tiempo de reflexión: Se emplea para simular el comportamiento humano que hace que las personas esperen entre iteraciones con un sitio web.
- Modelo o trama de carga. Especifica el número de usuarios virtuales activos durante una prueba de carga y la tasa con que se inician nuevos usuarios
- Modelo de combinación de pruebas. Especifica la probabilidad de que un usuario virtual ejecute una prueba determinada en un escenario de prueba de carga.
- Combinación de pruebas. Especifica el conjunto de pruebas que un usuario virtual ejecutará
- Combinación de redes. Especifica la probabilidad de que un usuario virtual ejecute un perfil de red determinado. Un perfil de red es una simulación de ancho de banda de red en la capa de la aplicación. No simula latencia.
- Combinación de exploradores. Especifica la probabilidad de que un usuario virtual emplee un tipo de explorador u otro. Ejemplo: el 45% de usuarios utilice para ejecutar las pruebas IE9.0 y el 55% Chrome 2.
- Conjuntos de contadores. Algunas herramientas de pruebas de rendimiento, contienen un conjunto de contadores de rendimiento que son útiles para supervisar durante una ejecución de la prueba de carga. Los conjuntos de contadores forman parte de la prueba de carga y se aplican a todos los escenarios de ésta. Se organizan por tecnología, por ejemplo, conjuntos de contadores de ASP.NET o SQL
- Configuración de ejecución. Se debe introducir características con respecto a la duración de las pruebas de carga, la velocidad, el número de repeticiones, etc.
- Conmutación de IP. Permite a un agente enviar solicitudes a un servidor utilizando un intervalo de direcciones IP. El objetivo de este escenario es poder probar una batería de servidores Web con equilibrio de carga configurado.
- Porcentaje de nuevos usuarios o uso de caché. Permite simular el almacenamiento en caché que debería realizar un explorador web. Ejemplo: 80% de los usuarios acceden siempre por primera vez a la herramienta y el 20% restante usa el caché.
El equipo de QA de Fractalia, ha empleado este tipo de herramientas software para conocer el rendimiento de uno de sus nuevos productos, tvidi.
tvidi es la nueva solución de publicidad dinámica adaptada al comercio y la pequeña empresa. http://www.tvidi.tv/
En concreto, en este post explicaremos un ejemplo de configuración de escenario de pruebas de rendimiento asociado a las pruebas que se han llevado a cabo en nuestro laboratorio con el objetivo de conocer el rendimiento de los players, en el proceso de solicitud de descarga de playlist o lista de reproducción asignada a los mismos.
El objetivo de las pruebas ha sido realizar una ‘prueba de humo’ (poca carga de usuarios) por cada componente para ver que funcionan correctamente y una vez cerciorados de dicho correcto funcionamiento, aumentar esa carga de usuarios hasta los objetivos de rendimiento indicados.
Configuración de escenario de pruebas de rendimiento producto tvidi:
Nota: Todos los players tienen playlist asignada y pertenecen al mismo usuario
Tras realizar la prueba de humo se ha ajustado la configuración (tras iterar el lanzamiento de las pruebas N veces) de una manera idónea para poder observar el comportamiento del sistema.Nota: Todos los players tienen playlist asignada y pertenecen al mismo usuario
La base de datos de producción estaba cargada con los siguientes datos (datos necesarios también disponibles en la base de datos que servía como datasource para lanzar las pruebas):
- 10044 usuarios.
- 2234 (folders / tags, en global).
- 2490 medios.
- 1577 playlists.
- 11561 players.
Se genera documentación automática en Excel y ficheros .trx que muestra gráficos y tablas de muy diversos tipos, para sacar de ahí la información pertinente, ejemplo:
Los resultados obtenidos nos permiten analizar la escalabilidad vertical (cores CPU) y horizontal (número de servidores en balanceo) necesarios para la carga de clientes y players necesarios.
Leave a Comment