Realizar Test Carga

Objetivos

El objetivo de este proceso es el de probar el comportamiento de la aplicación, en tiempo de respuesta y consistencia, ante peticiones individuales o múltiples y concurrentes. Este proceso esta íntimamente relacionado con los requisitos no funcionales de tiempo de respuesta y número de usuarios concurrentes. En las pruebas funcionales, grarantizamos que la aplicación funciona correctamente para un usuario, pero ¿qué pasa cuando se conectan muchos usuarios a la misma vez? ¿cómo se ve afectado el rendimiento? En este proceso se generarán tests de carga y pruebas de estrés, para garantizar que esos requisitos no funcionales se cumplen. Las fases del proceso serán la creación de los tests y la ejecución de los mismos.

Esta proceso va a ser estratégico cuando la aplicación vaya a ser utilizada masivamente, por lo tanto es muy importante hacer test de estrés y estimar adecuadamente el número de usuarios concurrentes que tendrá la aplicación, teniendo en cuenta tanto el nº medio de sesiones concurrentes, como los picos que puede haber en dicho nº de sesiones. Por ejemplo, en una aplicación donde los usuarios potenciales son todos los alumnos de la UMU, podríamos decir que el nº de usuarios posibles son 25.000, pero ¿cuál será la concurrencia habitual, y la máxima? Estos dos datos son fundamentales para que Sistemas dimensione adecuadamente los recursos que necesita la aplicación (memoria, contenedor compartido o no, contenedor en cluster o no, nº sesiones de la fuente de datos, etc), por tanto es muy importante hacer las estimaciones bien, y es fundamental que los test de estrés se acerquen los más posible a la realidad, dedicándole el tiempo que sea necesario al estudio y configuración de esta tarea.

En el Documento de Visión aparece en el apartado “7.6.Requisitos de Rendimiento” el mínimo de usuarios que debe de soportar la aplicación. Se debe de partir de esa base para decidir los parámetros del test de carga, haciendo además las estimaciones necesarias para los test de estrés.

Roles

Los siguientes son los roles participantes en este proceso:

Rol Tareas que interviene
Tester
MDA-TR-1.0-QS-Diseñar Casos de Prueba de Carga
MDA-TR-1.0-QS-Ejecutar Casos de Prueba de Carga

Tareas

El plan de pruebas de Carga especificará qué funcionalidad de la aplicación va a estar sometida a pruebas de carga y tests de estrés. En esta tarea también se realizarán los tests para tenerlos listos para su fase de ejecución.

Habrá que seleccionar qué partes van a ser sometidas a usos masivos por parte del usuario especialmente, para posteriormente, en la siguiente tarea, comprobar mediante la ejecución del plan, que la aplicación está preparada para responder a esa carga.

1. Crea las tareas en Jira

Para esta tarea se deben de dar de alta un JIRA con los siguientes datos

Tipo Descripción Disciplina Proceso Label Version Fijada
Tarea Realizar Plan de Pruebas de Carga Calidad del SoftwareQS-Realizar Test de Carga DCPC [Versión del proyecto]

2. Crear Casos de Pruebas de Carga

Se seguirá la plantilla de Casos de Prueba de Carga en el que aparecerán recogidos los distintas acciones a comprobar, cómo se comprueba masivamente y qué carga deben de soportar.

Plantilla SIGLAS Nomenclatura Ubicación
CasosPruebaCarga QCPC XXX-QCPC-1.2.3-CasosPruebaCarga /Proyecto/Documentacion/5./CalidadTest/5.3 TestCarga

3. Crear los Test de Carga/Estrés

La Herramienta para generar los test de Carga y Estrés será el JMeter. Para consultar cómo se realizan los tests seguir el Manual de Test de Carga de Aplicaciones FundeWeb con JMeter.

En caso de que la carga a simular sea masiva, leerse también la guía simulación de alta concurrencia Manual de Test de Estrés (Carga con Alta Concurrencia)

Por cada test de carga/estrés se generará un archivo jmx, en el que se contendrá la prueba, como el del ejemplo:

Documento SIGLAS Nomenclatura Ubicación
TestCarga QTC XXX-QTC-1.2.3-TestCarga.jmx /Proyecto/Documentacion/5./Calidad/5.3 TestCarga

OjO 8-O!!: al guardar sitúate en la raíz del Plan de pruebas de Jmeter, si no guardará SOLO desde el elemento del árbol donde te encuentres.

OjO 8-O!!: Es imprescindible ponerse de acuerdo con sistemas para realizar las pruebas de carga, ya que ellos deben monitorizar el comportamiento del servidor y de la base de datos

Se ejecutarán las pruebas de carga como está definido en el documento de plan de pruebas de carga.

Por cada caso de prueba debe de existir un fichero jmx, con el test de carga a ejecutar. Lo que se hara en esta tarea ejecutarla y guardar los resultados en su fichero correspondiente. Seguir los siguientes pasos:

1. Crea las tareas en Jira

Para esta tarea se deben de dar de alta un JIRA con los siguientes datos

Tipo Descripción Disciplina Proceso Label Version Fijada
Tarea Ejecutar Plan de Pruebas de Carga Calidad del SoftwareQS-Realizar Test de Carga ECPC [Versión del proyecto]

2. Ejecutar los test de Carga

Por cada caso de prueba de carga:

2.1. Crear un fichero vacio “resultado.csv”. Será un fichero temporal que puede estar en cualquier sitio. Lo importante es la extensión.

2.2. Crear el “Resultado en Arbol” en el hilo de ejecución (si hay varios crearlo en uno solo).

2.3. Configurar los “Resultados en Arbol”, para que escriban en el fichero temporal creado resultados.csv.

2.4. Configurar los “Resultados en Arbol”, para elegir los campos correctos

OjO 8-O!: DALE AL BOTON HECHO SI NO, NO SE GUARDA

2.5. Ejecutar los Tests con la opción Lanzar –> Arrancar

3. Guardar los Test de Carga

Es importante guardar los test de carga porque al volver a abrir el fichero de ejecución de test no volverán a aparecer.

3.1. Crear una nueva hoja de calculo ResultadoTestCarga, y rellenar el campo “Tiempo maximo respuesta” de la hoja “Ejecucion”, con el valor tiempo maximo de respuesta que debe de coincidir con el del Documento de Visión, en el apartado “7.6 Requisitos de rendimiento”.

Plantilla SIGLAS Nomenclatura Ubicación
ResultadoTestCarga QRTC XXX-QRTC-1.2.3-ResultadoTestCarga /Proyecto/Documentacion/5./CalidadTest/5.3 TestCarga

Este hoja autocalculará si los tiempos de respuesta han sido correctos o no.

3.2. Abrir los resultados resultado.cvs con el OpenOffice calc.

3.3. Copiar los resultados a la plantilla ResultadoTestCarga, en la hoja que pone Pegar Aqui.

3.4. Esta hoja en el campo “Resultado” de la hoja “Ejecucion”, pondrá ok si el tiempo de respuesta es correcto y no ha fallado la ejecución y fallo en caso contrario.

Con estos datos apuntaremos en la hoja “Resultados”, en el sprint correspondiente, el éxito o el fallo de la ejecución. En caso de fallo añadiremos mediante una nota, en qué página se produjo y el número de iteración que fue.

Artefactos

Plantilla del Artefacto SIGLAS Nomenclatura Ubicación
DocumentoDeRequisitos REQ XXX-REQ-1.2.3-Documento de Requisitos /Proyecto/Documentacion/2.Requisitos
Plantilla SIGLAS Nomenclatura Ubicación
CasosPruebaCarga QCPC XXX-QCPC-1.2.3-CasosPruebaCarga /Proyecto/Documentacion/5./Calidad/5.3 TestCarga
TestCarga QTC XXX-QTC-1.2.3-TestCarga.jmx /Proyecto/Documentacion/5./Calidad/5.3 TestCarga
ResultadoTestCarga QRTC XXX-QRTC-1.2.3-ResultadoTestCarga /Proyecto/Documentacion/5./Calidad/5.3 TestCarga

Herramientas

Herramienta Version Utilizada en Descarga
OpenOffice Writer 3.3 Diseñar Casos de Prueba de Carga Novell
Selenium IDE (plugin for FireFox) 1.08 min Diseñar Casos de Prueba de Carga Pagina Selenium
OpenOffice Calc 3.3 Ejecutar Casos de Prueba de Carga Novell
JMeter 2.3.4 o superior Pagina de Descarga

Métricas

Las métricas del proyecto se guardarán dentro de la carpeta del proyecto en Proyecto/Documentacion/1.Gestionproyecto/1.4.Metricas. Las métricas de este proceso en concreto se almacenan en la Hoja QS.

  1. Entra en Jira en el navegador de incidencias. Realiza una query simple y selecciona todas las tareas del proyecto.
  • project = ClaveDelProyecto
  • Disciplina-Proceso = Calidad del Software-QS-Realizar Test de Carga

Pulsa el botón Search

Usa la Plantilla de Seguimiento tal y como se indica en el apartado Calcular tiempos con Jira.

Numero de Casos de Prueba de Carga escritos para el proyecto.

  1. Entra en Jira en el navegador de incidencias. Realiza una query simple y selecciona todas las tareas del proyecto.
  • project = ClaveDelProyecto
  • Disciplina-Proceso = Requisitos-QS-Diseñar Casos de Prueba de Carga
  • label= DCBC

Pulsa el botón Search

Usa la Plantilla de Seguimiento tal y como se indica en el apartado Calcular tiempos con Jira.

Número de Casos de Prueba Ejecutados

Número de Casos de Prueba Ejecutados con resultado Erroneo

Número de Casos de Prueba Ejecutados con resultado Correctos

  1. Entra en Jira en el navegador de incidencias. Realiza una query simple y selecciona todas las tareas del proyecto.
  • project = ClaveDelProyecto
  • Disciplina-Proceso = Requisitos-QS-Ejecutar Casos de Prueba de Carga
  • label= ECPC

Pulsa el botón Search

Usa la Plantilla de Seguimiento tal y como se indica en el apartado Calcular tiempos con Jira

  • mda/qs/mda-pr-1.0-qs-realizar_test_de_carga.txt
  • Última modificación: 07/11/2017 10:46
  • (editor externo)