Pruebas de rendimiento, workflows

Leia en Google Testing Blog “If you can’t build a web service that scales, testing is not your biggest problem!”  Pero, para definir la vía de escalada a seguir, debemos conocer cómo se comporta el sistema bajo una gran carga de trabajo.

La definición del plan de pruebas deberá hacerse con el objetivo de simular del modo más exacto posible el uso real del sistema bajo distintas situaciones. Para ello se definen workflows, basados en el comportamiento habitual de los usuarios frente a la aplicación. Los datos para su definición pueden ser obtenidos mediante sesiones de interacción, del análisis de log, gestión de auditoría, etc. Estos flujos serán las guías a seguir para el diseño de los scripts, planes de trabajo, etc, del plan de pruebas.

Para diseñar un detallado plan de pruebas de rendimiento, existen numerosos conceptos y variables con las que podemos jugar para conseguir el workflow requerido. Entre ellos, destacan los siguientes como los más importantes:

  • Scenarios: es muy últil la definición de distintos escenarios donde se ejecutarán las pruebas. Para cada escenario, podemos definir (siempre que sea coherente) parámetros como:

navegador: Internet, Explorer, Mozilla Firefox, Chrome, Safari, …)
conectividad de red: LAN, WiFi, 3G, HSDPA, …
probability: dado como porcentaje de la probabilidad existente de que un usuario use la aplicación bajo este escenario. Este porcentaje podrá ser utilizado para la composición de los test concurrentes.

  • Load pattern: gráficamente mostrará cuántos usuarios están utilizando el sistema en cada momento. Nos permitirá definir el modo en el que varía el número de usuarios concurrentes.
  • Think time: tiempo de espera al usuario. Cuanto tiempo pasa el sistema esperando la siguiente interacción del usuario.

Además, se deberán definir todas aquellas propiedades que puedan variar el modo en que se ejecutan o capturan los datos de los test como variables de tiempo, SO, hardware y arquitectura de red, …

Finalmente, otro punto a tener en cuenta en el diseño de un plan de pruebas de rendimiento es minimizar el ruido que introduce nuestro simulador frente al sistema real, para lo cual usaremos nodos externos tanto para simular los usuarios virtuales, como la gestión de los test, el almacenamiento de los datos extraídos y demás.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s