viernes, 6 de abril de 2012

Informes de Pruebas de Rendimiento.

Introducción

Una de las tareas más complejas con las que se encuentra un ingeniero de pruebas es mostrar de forma clara los resultados obtenidos en las pruebas de rendimiento. Esta complejidad es debida a:

  • Las pruebas de rendimiento contienen un fuerte componente técnico.
  • Ideas preconcebidas en los destinatarios del informe sobre los resultados que deben proporcionar las pruebas de rendimiento.

El éxito de las pruebas de rendimiento depende no solamente de una fase de ejecución efectiva, sino también de que los resultados obtenidos sean comunicados de forma comprensible.


Apartados del Informe de Pruebas de Rendimiento

Una aproximación a los apartados que debe contener un informe de pruebas de rendimiento, se muestra en el siguiente mapa mental (puedes acceder también desde aquí):




Veamos alguno de los apartados:
  • Objetivos y alcance de las pruebas: Breve descripción de las pruebas realizadas y de los objetivos perseguidos.
  • Descripción del entorno donde se han ejecutado las pruebas.Podemos describir tanto las caraterísticas físicas del sistema que estamos testando como del entorno inyector de la carga (herramienta utilizada, ubicación de los inectores, limitaciones, etc..)
  • Plan de Pruebas. Detalle de las pruebas ejecutadas y los objetivos de cada una de ellas. Pruebas de capacidad, estrés, estabilidad, etc... Podemos detallar
  • Detalle de los resultados obtenidos. Métricas e Indicadores. Detalle cuantitativo y/o gráfico de los resultados: Tiempos de respuesta, concurrencia alcanzada, monitorización de recursos, consumos, etc...
  • Incidencias y problemas detectados. Descripción de las incidencias detectadas, severidad, impacto, etc...
  • Otros aspectos, como pueden ser las actividades de cierre del proyecto o planificación de futuras actividades, recomendaciones de mejora y/o definición de un escenario de regresión que permita comparar el rendimiento en futuros cambios. También podemos valorar la inclusión de incluir un glosario que recoja de forma centralizada aquellos términos técnicos utilizados a lo largo del informe y que pueden aportar ambigüedad: throughputh, concurrencia, transacciones/hora, usuarios virtuales, consumos, etc...

Consideraciones

Elaborar el informe de pruebas teniendo en cuenta la audiencia a la que va dirigida. Introducir un resumen ejecutivo compresible, puede aportar mayor claridad que las gráficas de evolución de las métricas.
  • Introducir apartados de diferente nivel técnico perfectamente identificables para poder orientar la lectura de las personas a las que va dirigido nuestro informe
  • Si el plan de pruebas de rendimiento se ha elaborado en base a unos requisitos de rendimientos (operaciones/hora alcanzadas, tiempos de respuesta, etc..) hacer referencia a su cumplimiento en las pruebas.
  • Detallar el impacto sobre la aplicación o sobre los usuarios finales que tienen los defectos o errores detectados.
  • Enumerar aquellos cambios en el software, en el hardware o en la configuración que se han derivado de las pruebas y que han aportado mejoras del sistema objeto de las prueba.


¿Qué problemas te has encontrado al realizar un informe de pruebas de rendimiento?. ¿Has podido comunicar los resultados de forma clara?. ¿Han malinterpretado los resultados?. Te invitamos a compartir tu experiencia dejando un comentario

5 comentarios:

  1. Muy Interesante el articulo, totalmente de acuerdo con el punto de redactar el informe de acuerdo a la persona que va dirigido. Una cosa importante a tomar en cuenta cuando se hace un informe, es mencionar si el producto esta cumpliendo plenamente con los requerimientos del cliente o usuario final, y otra caracteristica no menos importante, es situar los resultados de las pruebas dentro de los estandares y hacer una comparativa con el objetivo de tomar una evaluacion del software para saber que tan bueno es.

    ResponderEliminar
    Respuestas
    1. Muchas gracias Carlos,
      Totalmente de acuerdo en lo que indicas. Uno de los grandes problemas del ingeniero de pruebas de rendimiento es comunicar y hacer comprensible los resultados que ha obtenido. Al contrario que en las pruebas funcionales, en las pruebas de carga no se dispone de un "passed" o un "failed" para indicar el correcto funcionamiento. Por ello, la idea que indicas de comparar los resultados obtenidos con los esperados o referenciarse a un modelo de calidad es de un valor extraordianario.

      PD: Tienes abierto el qatecnico para lo que consideres....

      Eliminar
    2. Muchas gracias José, voy a trabajar en algo que ya te estaré enviando previamente para colgarlo en el sitio.

      Eliminar
  2. Me gusto este articulo, pero desde hace dias busco precisamente eso, ¿Cuales son las metricas o estandares que debo manejar una vez realizada una prueba de carga y rendimiento?, actualmente uso la herramienta Jmeter.
    EJemplo para una corrida de 1 usuario el tiempo estandar estimado de respues es: "equis segundos" y con ese estandar (que no consigo, no se como guirame), pues es el que me servira para hacer un analisis respectivo de una aplicacion web.

    De antemano gracias
    Espero que mi duda sea aclarada.

    ResponderEliminar
    Respuestas
    1. Hola!
      Por lo general las dos principales métricas son el tiempo de respuesta como bien indicas y el número de operaciones por unidad de tiempo. Los valores que se obtienen pueden ser comparados con métricas basadas en niveles de servicio o bien en los requerimientos que pueden proporcionar el solicitante de las pruebas.
      Como muchas veces no es habitual contar con esta información una pequeña guia de sentido común es considerar que una página no deberia tardar más de 5/10 segundos en cargar. Un webservices que tenga valores de respuesta superiores a los 2 segundos es indicativo que va a dar problemas y consultar SQL no deben tardar por lo general más de 0,1 a 0,5 segundos (siempre que hablemos de respuestas en online,no de procesos por lotes,claro!)

      Espero que te pueda dar alguna idea más ajustada
      Saludos

      Eliminar