Oficina de Calidad Subdirección de Tecnologías de la Información y Comunicaciones

Pruebas del Sistema

Proyecto

Proceso de Gestión de Proyectos

CONTROL DE CAMBIOS DEL DOCUMENTO

Registro de cambios

Autor	Versión	Referencia de cambios	Fecha

Revisores

Nombre	Versión Aprobada	Posición	Fecha

Propiedades del documento

Propiedad	Detalle
Título	Pruebas del Sistema
Proyecto	Proyecto
Autor
Nombre fichero	Documento2
Fecha de creación	07/11/2018 13:28
Ultima actualización	01/01/1601 1:00
Plantilla base	[PPP-PPS_xxxxxx_v3.1].dot

INDICE

1	Objeto del documento	3

2	Alcance del documento	3

3	Participantes	3

4	Matriz roles / tareas / responsabilidades	3

5	Especificación del entorno de pruebas	3

5.1	Entorno tecnológico	3

5.2	Restricciones técnicas del entorno	3

5.3	Requisitos de operación y seguridad	3

5.4	Herramientas de análisis de resultados	3

5.5	Procedimientos de promoción de elementos entre entornos	3

5.6	Procedimientos de emergencia, de recuperación y vuelta atrás	3

6	Especificación técnica de los niveles de prueba	3

6.1	Servicios Web	3

7	Pruebas de comunicación	3

8	Pruebas de disponibilidad de datos	3

9	Subconjunto de funcionalidades a probar	3

10	Pruebas de sobrecarga o estrés	3

10.1	Características del lanzamiento	3

10.1.1	Nivel de concurrencia	3

10.1.2	Número de lanzamientos	3

10.1.3	Duración de la prueba	3

10.1.4	Definición de los indicadores	3

10.1.4.1	Tipificación de los nodos del sistema	3

10.1.4.2	Indicadores específicos	3

10.2	Especificaciones técnicas de pruebas	3

11	Pruebas de rendimiento tras un período de estrés	3

11.1	Características del lanzamiento	3

11.1.1	Nivel de concurrencia	3

11.1.2	Número de lanzamientos	3

11.1.3	Duración de la prueba	3

11.1.4	Definición de los indicadores	3

11.1.4.1	Tipificación de los nodos del sistema	3

11.1.4.2	Indicadores específicos	3

11.2	Especificaciones técnicas de las pruebas	3

12	Pruebas de rendimiento	3

12.1	Características del lanzamiento	3

12.1.1	Nivel de concurrencia	3

12.1.2	Número de lanzamientos	3

12.1.3	Definición de los indicadores	3

12.1.3.1	Tipificación de los nodos del sistema	3

12.1.3.2	Indicadores específicos	3

12.2	Ciclos del plan de pruebas	3

12.3	Especificaciones técnicas de las pruebas	3

13	Pruebas de carga sostenida	3

13.1	Características del lanzamiento	3

13.1.1	Nivel de concurrencia	3

13.1.2	Número de lanzamientos	3

13.1.3	Definición de los indicadores	3

13.1.3.1	Tipificación de los nodos del sistema	3

13.1.3.2	Indicadores específicos	3

14	Referencias	3

LISTA DE FIGURAS

No se encuentran elementos de tabla de ilustraciones.
LISTA DE TABLAS

Tabla 1: Subconjunto de funcionalidad	3

Tabla 2: Subconjunto de funcionalidad a probar	3

Tabla 3: Indicadores en pruebas de sobrecarga o estrés	3

Tabla 4: Indicadores en pruebas de rendimiento tras un período de estrés	3

Tabla 5: Indicadores en pruebas de rendimiento	3

Tabla 6: Indicadores en pruebas de carga sostenida	3

Tabla 7: Referencias	3

Instrucciones Generales

El texto de color azul provee una guía para el autor y debería ser eliminado antes de la publicación del documento.

Objeto del documento

Descripción detallada de las Pruebas del Sistema, cuyo objetivo es ejercitar profundamente el sistema comprobando la integración del sistema de información globalmente, verificando el funcionamiento correcto de las interfaces entre los distintos subsistemas que lo componen y con el resto de sistemas de información con los que se comunica. Incluye la matriz de responsabilidades por roles de cara al proceso de ejecución de las pruebas, así como una la planificación / ciclos de ejecución de las mismas.

Alcance del documento

Define el alcance del documento o nivel de cobertura en las pruebas del sistema.

Participantes

Enumere los participantes del documento

Participantes
Departamento
Teléfono
Rol

Matriz roles / tareas / responsabilidades

Completar la matriz de roles/tareas/responsabilidades.

Rol Tarea	Rol1	Rol2	Rol3	Rol4	RolN
Elaboración del plan de pruebas	Realiza
Especificación del entorno de pruebas	Realiza
Ejecución del plan de pruebas	Realiza	Supervisa
Elaboración del informe de resultados	Realiza	Realiza
Evaluación y aprobación del plan de pruebas	Realiza
Tarea N

Especificación del entorno de pruebas

Entorno tecnológico

Definir el entorno tecnológico necesario para el entorno de pruebas

Ejemplo:

El sistema informático necesita disponer de un entorno similar al de producción, es decir la comunicación con la base de datos y la localización de los componentes deben de estar configurados correctamente.

Pruebas aceptación: En un principio no existen requisitos hardware, sin embargo se debe cumplir únicamente la capacidad del hardware para ejecutar las aplicaciones en un contexto con uno o dos usuarios concurrentes.

Pruebas de sistema: Este requisito del entorno hardware no es aplicable para la ejecución de pruebas de sistema donde se deberá garantizar que los elementos tanto software como hardware sobre los que se realiza la prueba mantienen una escala frente a los de producción, ponderando en ello la escalabilidad.

Restricciones técnicas del entorno

Definir las restricciones del entorno tecnológico necesario para el entorno de pruebas

Ejemplo:

En caso de la inexistencia de alguno de los elementos que intervienen en el sistema ocasionará el funcionamiento erróneo del mismo, por lo tanto los componentes integrantes de las pruebas deben guardar entre sí una comunicación satisfactoria.

Requisitos de operación y seguridad

Definir los requisitos de operación y seguridad necesarios para el entorno de pruebas

Ejemplo:

Se destaca como requisito de operación la necesidad de un entorno aislado para la ejecución correcta de las pruebas, es decir un entorno sin ninguna actuación de ningún otro proceso u aplicación. El incumplimiento de este requisito puede originar la no fidelidad de los resultados obtenidos por las pruebas, obteniendo de esta manera un estudio erróneo de las mismas.

En este apartado podríamos destacar como requisito de operación el tiempo de respuesta con la base de datos. Dicha operación resulta determinante en la ejecución correcta de las pruebas. Por ello es necesario establecer un umbral máximo de respuesta de dicha comunicación, evitando de esta manera cualquier posible error de de una mala comunicación entre los componentes.

Herramientas de análisis de resultados

Definir las herramientas de análisis de resultados para entorno de pruebas:

Ejemplo:

Para el lanzamiento de las pruebas se utilizarán los agentes de lanzamiento de Visual Studio Team System 2008, de modo que se deberán dedicar una o más máquinas para el lanzamiento de las pruebas. En estas máquinas se instalará dicho agente, así como todos los requisitos que el agente presente (.NET Framework)

Hay que destacar que para el desarrollo de las pruebas se usarán las herramientas provistas por Microsoft Visual Studio Team System 2008, en forma de pruebas unitarias y pruebas de carga.

Procedimientos de promoción de elementos entre entornos

Completar cuando proceda.

Procedimientos de emergencia, de recuperación y vuelta atrás

Completar cuando proceda.

Especificación técnica de los niveles de prueba

A continuación se describen las especificaciones técnicas para la generación de las pruebas.

Servicios Web

Ejemplo:

Para la generación de las pruebas aplicadas al servicio Web se utilizarán pruebas unitarias que generarán acceso a este servicio mediante IIS. De esta manera podremos estudiar las pruebas estrés, recuperación tras un período de estrés y carga aplicadas a este componente. Debido a la ausencia de interfaz del sistema, se desecharán las pruebas de rendimiento, tomándose los tiempos de obtenidos a través de los contadores.

La precondición para el lanzamiento de todos los casos de uso será la comunicación entre el agente lanzador y las máquinas de los servicios Web.

Caso de uso: Caso de uso 1

El sistema debe aceptar la realización del caso de uso 1.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 2

El sistema debe aceptar la realización del caso de uso 2.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 3

El sistema debe aceptar la realización del caso de uso 3.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 4

El sistema debe aceptar la realización del caso de uso 4.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 5

El sistema debe aceptar la realización del caso de uso 5.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 6

El sistema debe aceptar la realización del caso de uso 6.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 7

El sistema debe permitir la realización del caso de uso 7.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 8

El sistema debe permitir la realización del caso de uso 8.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 9

El sistema debe permitir la realización del caso de uso 9.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 10

El sistema debe permitir la la realización del caso de uso 10.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 11

El sistema debe permitir la realización del caso de uso 11.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 12

El sistema debe permitir la realización del caso de uso 12.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 13

El sistema no debe permitir la realización del caso de uso 13.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Alta recién Caso de uso 14

El sistema no debe permitir la realización del caso de uso 14.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 15

El sistema debe permitir la realización del caso de uso 15.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 16

El sistema debe permitir la realización del caso de uso 16.

Resultados esperados: Recepción de la información solicitada a través de XML.

Caso de uso: Caso de uso 17

El sistema debe permitir la realización del caso de uso 17.

Resultados esperados: Recepción de la información solicitada a través de XML.

Pruebas de comunicación

Las pruebas de comunicación determinan que las interfaces entre los componentes del sistema funcionan adecuadamente, tanto a través de dispositivos remotos, como locales.

Definir en este punto las pruebas de comunicación.

Indíquese las pruebas de comunicación a ejecutar entre procesos desplegados en nodos físicos distintos que deban estar conectados según lo establecido por los requisitos del sistema.

Estas pruebas deben ser coherentes con el diagrama de despliegue de la Especificación del Entorno Tecnológico.

Determinan que las interfaces entre los componentes del sistema funcionan adecuadamente, tanto a través de dispositivos remotos, como locales. Asimismo, se han de probar las interfaces hombre/máquina.

En este punto se describen las pruebas de lo establecido en el documento de Interfaces entre Módulos (INT). Cada una de las interfaces definidas debe quedar probada a nivel funcional y técnico.

Pruebas de disponibilidad de datos

Definir las pruebas de disponibilidad de datos

Se establecerán las pruebas necesarias para demostrar que los requisitos de alta disponibilidad se cumplen en los elementos del entorno donde así se haya definido. Consisten en demostrar que el sistema puede recuperarse ante fallos, tanto de equipo físico como lógico, sin comprometer la integridad de los datos.

Subconjunto de funcionalidades a probar

El conjunto de casos de uso del sistema son los siguientes, ordenados por el porcentaje de frecuencia que generan en el sistema:

Id	Nombre	Descripción	Peso
1	CDUSU01	Caso de uso 1	0.8323
2	CCUSU01	Caso de uso 2	0.1631
3	MODUSU02	Caso de uso 8	0.0028
4	MODUSU01	Caso de uso 7	0.0015
5	INSUSU01	Caso de uso 5	0.0002
6	CRN01	Casos de uso 15 y 16	-
7	CRN01	Caso de uso 17	-
9	INSUSU03	Caso de uso 11	0.00014
10	INSUSU03	Caso de uso 12	-
12	INSUSU03	Caso de uso 13	-

Tabla 1: Subconjunto de funcionalidad

Los casos de uso para estresar se toman buscando cubrir el 80% de la carga, y tomando algunos casos de uso cuyas pruebas sean de especial relevancia. Estos casos de uso serán los siguientes:

Id	Nombre	Descripción	Peso
1	CDUSU01	Caso de uso 1	0.8323
2	CCUSU01	Caso de uso 2	0.1631
3	MODUSU02	Caso de uso 8	0.0028
4	MODUSU01	Caso de uso 7	0.0015

Tabla 2: Subconjunto de funcionalidad a probar

Pruebas de sobrecarga o estrés

Las prueba de sobrecarga o estrés consisten en comprobar el funcionamiento del sistema en el umbral límite de los recursos, sometiéndole a cargas masivas. El objetivo es establecer los puntos extremos en los cuales el sistema empieza a operar por debajo de los requisitos establecidos.

De la ejecución de las pruebas de sobrecarga o estrés se debe obtener el nivel de máxima concurrencia del sistema, punto antes del cual (medido en número de peticiones sobre el sistema / s) el sistema debe funcionar correctamente y a partir del cual el funcionamiento comienza a degradarse y se dejan de atender peticiones.

Verificar la respuesta y el tiempo de procesamiento de los componentes del sistema cuando éste está estresado. Evaluar que el rendimiento de la aplicación cumple las expectativas del operador final, en cuanto a tiempos de respuesta, en una situación de carga considerada normal (umbral de normalidad o línea base a determinar 60-70 %): Detectar mediante la monitorización de indicadores del sistema posibles problemas asociados al mismo cuando las expectativas de rendimiento no se cumplen.

Las pruebas de sobrecarga o estrés tienen como objetivo la obtención del punto del sistema en el cual éste deja de atender adecuadamente las peticiones que recibe.

Para determinar el punto a partir del cual el sistema deja de atender adecuadamente las peticiones de los operadores, y por lo tanto la curva de tiempos de respuesta en función del número de peticiones atendidas correctamente por el sistema empieza a degradarse, vamos a ir incrementando el número de peticiones de 20 en 20. Se observará el comportamiento del sistema, de manera que el número de peticiones atendidas por el sistema irá aumentando progresivamente, hasta que llegue a un punto donde éstas dejen de aumentar con el tiempo, es decir, el sistema ya no será capaz de atender todas las peticiones que le llegan y, por tanto, la curva empieza a descender.

De forma que tomaremos como umbral de concurrencia para el buen funcionamiento del sistema el 80%-90% del punto máximo de operaciones atendidas correctamente antes de que éstas empiecen a decrecer.

Características del lanzamiento

Nivel de concurrencia

Se lanzarán contra el sistema el número de peticiones necesarias para saturar el sistema, es decir, para que el sistema deje de atender adecuadamente su funcionamiento y por tanto se degrade el funcionamiento del mismo.

Número de lanzamientos

Esta prueba se realizará, al menos tres veces, reiniciando el sistema cada una de ellas. Se tomará como rendimiento máximo del sistema el número mayor de peticiones atendidas correctamente en cada uno de estos tres lanzamientos de la prueba.

Duración de la prueba

Esta prueba durará el tiempo necesario para realizar los lanzamientos indicados en el punto anterior.

Definición de los indicadores

Tipificación de los nodos del sistema

En este punto se detallan las características de los distintos nodos, de forma que nos sirva para determinar el conjunto de indicadores asociados al tipo de nodo en el que nos encontramos. Los distintos nodos y sus características asociadas que se encuentran en el sistema son los siguientes:

Servidor web:

ASP.NET cliente.

Cliente WCF.

Servidor de negocio:

Aplicación .Net.

Servidor WCF.

Acceso a base de datos.

Servidor de base de datos:

Base de datos.

Nota: Para que esta tipificación sea válida debe existir un conjunto de indicadores para las características de los nodos definidos, ya que para cada característica se debe existir dicho conjunto de indicadores que tenga en cuenta sus posibles cuellos de botella o problemas de pérdida de recursos.

Indicadores específicos

En este apartado se definen indicadores específicos para el sistema a probar que no aparezcan ya entre los indicadores predefinidos por las características del sistema.

Contadores de rendimiento del sistema. Definición

Indicador	Explicación
Bytes enviados/s	Nº de bytes enviados/s es la frecuencia a la que se envían bytes de datos mediante el servicio Web.
Bytes recibidos/s	Nº de bytes recibidos/s es la frecuencia a la que se reciben bytes de datos mediante el servicio Web.
Bytes total/s	Nº total de bytes/s es la suma de Nº de bytes enviados/s y Nº de bytes recibidos/s Éste es la tasa total de archivos transferidos mediante el servicio Web.
Conexiones actuales	Nº actual de conexiones es el número actual de conexiones establecidas con el servicio Web.
Solicitudes correctas	Número de solicitudes correctas atendidas.
Solicitudes de tiempo de ejecución	Tiempo de respuesta de la última solicitud realizada
Solicitudes actuales	Solicitudes actualmente atendidas
Solicitudes desconectadas	Número de solicitudes desconectadas por errores en la comunicación o porque el usuario terminó.
Solicitudes en cola	Número de solicitudes en espera de proceso.
Solicitudes rechazadas	El número de solicitudes se ha rechazado porque la cola de solicitudes estaba llena.
Tiempo de espera de la solicitud	Número de milisegundos que la solicitud más reciente esperó en la cola.
% tiempo de procesador	Tiempo de procesador es el porcentaje de tiempo durante el cual los subprocesos de este proceso han utilizado el procesador para ejecutar instrucciones. Una instrucción es la unidad básica de ejecución en un equipo, un subproceso es el objeto que ejecuta instrucciones y un proceso es el objeto creado cuando un programa se ejecuta. Se puede contar para este proceso el código ejecutado para controlar ciertas interrupciones de hardware o condiciones de captura.

Tabla 3: Indicadores en pruebas de sobrecarga o estrés

Contadores / indicadores en base de datos. Descripción

Responsable: Administrador de Servidores.

Métodos de implementación de los diferentes elementos a monitorizar en los servidores de Base de datos:

Accesos a disco

Monitorizar los accesos a discos con el fin de determinar si se presentan contenciones.

Uso de memoria (RAM)

Monitorización de los niveles de memoria en los servidores, determinando así excesivo consumo de CPU por falta de memoria.

Utilización de CPU

Monitorización de las CPU y su utilización, para evitar el consumo excesivo.

Errores del sistema

Monitorización de los errores del sistema.

Espacio libre en disco

Monitorización del volumen de ocupación de los volúmenes de discos.

Contadores / indicadores en base de datos: consultas pesadas

Especificaciones técnicas de pruebas

Ejemplo:

Para las pruebas de sobrecarga o estrés del servicio Web se realizará una gráfica descriptiva en donde se especificará en su eje X el tiempo de ejecución del servicio y en su eje Y; throughput total, throughput válido y throughput erróneo.

Mediante el estudio de esta gráfica se podrá realizar una primera visión global de la capacidad del sistema, estableciéndose así un punto en el cual el throughput válido disminuye a la vez de que aumentan los throughput válidos y throughput erróneos.

Hay que tener en cuenta que el número de peticiones se incrementarán con respecto al tiempo con lo que se deberá de dotar al sistema de esta funcionalidad, los incrementos se realizarán de 20 en 20 para comprobar de manera exacta cuando el sistema no es fiable con respecto a un número determinado de peticiones.

Se debe realizar un estudio de los indicadores de porcentaje de CPU utilizada y memoria disponible del agente lanzador de las pruebas del sistema. La falta de éste originaria que los resultados obtenidos de las pruebas no fueran completamente aceptables.

Pruebas de rendimiento tras un período de estrés

Las pruebas de rendimiento tras un periodo de estrés consisten de comprobar el funcionamiento del sistema tras un período de trabajo, comprobando que el funcionamiento del mismo se mantiene en las mismas condiciones.

Consistirá en el lanzamiento de los distintos requisitos funcionales seleccionados, durante un tiempo determinado, para estresar el sistema, rebasando el límite de concurrencia válido para el sistema y reduciéndolo después de un tiempo para observar el comportamiento. Como casos de uso se han seleccionado los de mayor frecuencia de uso.

Características del lanzamiento

Nivel de concurrencia

Ejemplo:

Se lanzarán estos casos de uso, aumentando progresivamente el número de hilos para ver cómo se comporta el sistema cuando se estresa el entorno. Después se irá disminuyendo progresivamente estos hilos de ejecución para ver cómo se comporta el sistema cuando ha estado estresado y vuelve a la normalidad. Comprobándose que el hecho de saturar el sistema por encima del punto máximo de funcionalidad, no produce que el sistema deje de funcionar correctamente y cuando se vuelve a un funcionamiento en el que se reciben un número normal de peticiones, el sistema sigue funcionando correctamente tras la prueba de estrés.

Número de lanzamientos

Ejemplo:

Esta prueba se realizará, al menos tres veces, reiniciando el sistema cada una de ellas. En cada ejecución se medirán tiempos de respuesta del sistema, verificándose que los tiempos obtenidos están en concordancia con los tiempos estimados.

Duración de la prueba

Definir la duración de las pruebas.

Definición de los indicadores

Tipificación de los nodos del sistema

En este punto se detallan las características de los distintos nodos, de forma que nos sirva para determinar el conjunto de indicadores asociados al tipo de nodo en el que nos encontramos. Los distintos nodos y sus características asociadas que se encuentran en el sistema son los siguientes:

Servidor web:

ASP.NET cliente.

Cliente WCF.

Servidor de negocio:

Aplicación .Net.

Servidor WCF.

Acceso a base de datos.

Servidor de base de datos:

Base de datos.

Nota: Para que esta tipificación sea válida debe existir un conjunto de indicadores para las características de los nodos definidos, ya que para cada característica se debe existir dicho conjunto de indicadores que tenga en cuenta sus posibles cuellos de botella o problemas de pérdida de recursos.

Indicadores específicos

En este apartado se definen indicadores específicos para el sistema a probar que no aparezcan ya entre los indicadores predefinidos por las características del sistema.

Contadores de rendimiento del sistema. Definición

Indicador	Explicación
Bytes enviados/s	Nº de bytes enviados/s es la frecuencia a la que se envían bytes de datos mediante el servicio Web.
Bytes recibidos/s	Nº de bytes recibidos/s es la frecuencia a la que se reciben bytes de datos mediante el servicio Web.
Bytes total/s	Nº total de bytes/s es la suma de Nº de bytes enviados/s y Nº de bytes recibidos/s Éste es la tasa total de archivos transferidos mediante el servicio Web.
Conexiones actuales	Nº actual de conexiones es el número actual de conexiones establecidas con el servicio Web.
Solicitudes correctas	Número de solicitudes correctas atendidas.
Solicitudes de tiempo de ejecución	Tiempo de respuesta de la última solicitud realizada
Solicitudes actuales	Solicitudes actualmente atendidas
Solicitudes desconectadas	Número de solicitudes desconectadas por errores en la comunicación o porque el usuario terminó.
Solicitudes en cola	Número de solicitudes en espera de proceso.
Solicitudes rechazadas	El número de solicitudes se ha rechazado porque la cola de solicitudes estaba llena.
Tiempo de espera de la solicitud	Número de milisegundos que la solicitud más reciente esperó en la cola.
% tiempo de procesador	Tiempo de procesador es el porcentaje de tiempo durante el cual los subprocesos de este proceso han utilizado el procesador para ejecutar instrucciones. Una instrucción es la unidad básica de ejecución en un equipo, un subproceso es el objeto que ejecuta instrucciones y un proceso es el objeto creado cuando un programa se ejecuta. Se puede contar para este proceso el código ejecutado para controlar ciertas interrupciones de hardware o condiciones de captura.

Tabla 4: Indicadores en pruebas de rendimiento tras un período de estrés

Contadores / indicadores en base de datos. Descripción

Responsable: Administrador de Servidores.

Métodos de implementación de los diferentes elementos a monitorizar en los servidores de Base de datos:

Accesos a disco

Monitorizar los accesos a discos con el fin de determinar si se presentan contenciones.

Uso de memoria (RAM)

Monitorización de los niveles de memoria en los servidores, determinando así excesivo consumo de CPU por falta de memoria.

Utilización de CPU

Monitorización de las CPU y su utilización, para evitar el consumo excesivo.

Errores del sistema

Monitorización de los errores del sistema.

Espacio libre en disco

Monitorización del volumen de ocupación de los volúmenes de discos.

Contadores / indicadores en base de datos: consultas pesadas

Especificaciones técnicas de las pruebas

Ejemplo:

Para la realización de las pruebas de rendimiento tras un período de estrés se tomará como punto de partida el estudio previamente realizado en las pruebas de estrés.

El grafico generado por las pruebas de estrés nos revela las claves necesarias para la realización de las pruebas de rendimiento tras un período de estrés, para ello debemos de estudiar la gráfica cuando los throughput válidos decrecen exponencialmente mientras que los throughput totales y erróneos aumentan.

Este punto seleccionado será el punto de inicio de las pruebas de rendimiento tras un período de estrés, con éste realizaremos una nueva gráfica en donde el eje X se corresponderá con el tiempo transcurrido y el eje Y serán throughput total, throughput válido y throughput erróneo. A través de estos parámetros podemos estudiar como se comporta el sistema en esta situación.

Pruebas de rendimiento

El objetivo de estas pruebas es verificar la respuesta y el tiempo de procesamiento de los componentes del sistema cuando éste está estresado. Evaluar que el rendimiento de la aplicación cumple las expectativas del operador final, en cuanto a tiempos de respuesta, en una situación de carga considerada normal (por encima de la carga media del sistema).Detectar mediante la monitorización de indicadores del sistema posibles problemas asociados al mismo cuando las expectativas de rendimiento no se cumplen.

Características del lanzamiento

Nivel de concurrencia

El nivel de concurrencia de esta prueba será el considerado normal para el sistema, es decir, aquel nivel de concurrencia que se encuentre en el 60% del nivel máximo de concurrencia del sistema detectado en las pruebas de capacidad.

Número de lanzamientos

Para este tipo de pruebas se realizarán tres lanzamientos con la duración necesaria para realizar los ciclos de prueba especificados, los cuales se realizan de forma manual.

Definición de los indicadores

Tipificación de los nodos del sistema

En este punto se detallan las características de los distintos nodos, de forma que nos sirva para determinar el conjunto de indicadores asociados al tipo de nodo en el que nos encontramos. Los distintos nodos y sus características asociadas que se encuentran en el sistema son los siguientes:

Servidor web:

ASP.NET cliente.

Cliente WCF.

Servidor de negocio:

Aplicación .Net.

Servidor WCF.

Acceso a base de datos.

Servidor de base de datos:

Base de datos.

Nota: Para que esta tipificación sea válida debe existir un conjunto de indicadores para las características de los nodos definidos, ya que para cada característica se debe existir dicho conjunto de indicadores que tenga en cuenta sus posibles cuellos de botella o problemas de pérdida de recursos.

Indicadores específicos

En este apartado se definen indicadores específicos para el sistema a probar que no aparezcan ya entre los indicadores predefinidos por las características del sistema.

Contadores de rendimiento del sistema. Definición

Indicador	Explicación
Bytes enviados/s	Nº de bytes enviados/s es la frecuencia a la que se envían bytes de datos mediante el servicio Web.
Bytes recibidos/s	Nº de bytes recibidos/s es la frecuencia a la que se reciben bytes de datos mediante el servicio Web.
Bytes total/s	Nº total de bytes/s es la suma de Nº de bytes enviados/s y Nº de bytes recibidos/s Éste es la tasa total de archivos transferidos mediante el servicio Web.
Conexiones actuales	Nº actual de conexiones es el número actual de conexiones establecidas con el servicio Web.
Solicitudes correctas	Número de solicitudes correctas atendidas.
Solicitudes de tiempo de ejecución	Tiempo de respuesta de la última solicitud realizada
Solicitudes actuales	Solicitudes actualmente atendidas
Solicitudes desconectadas	Número de solicitudes desconectadas por errores en la comunicación o porque el usuario terminó.
Solicitudes en cola	Número de solicitudes en espera de proceso.
Solicitudes rechazadas	El número de solicitudes se ha rechazado porque la cola de solicitudes estaba llena.
Tiempo de espera de la solicitud	Número de milisegundos que la solicitud más reciente esperó en la cola.
% tiempo de procesador	Tiempo de procesador es el porcentaje de tiempo durante el cual los subprocesos de este proceso han utilizado el procesador para ejecutar instrucciones. Una instrucción es la unidad básica de ejecución en un equipo, un subproceso es el objeto que ejecuta instrucciones y un proceso es el objeto creado cuando un programa se ejecuta. Se puede contar para este proceso el código ejecutado para controlar ciertas interrupciones de hardware o condiciones de captura.

Tabla 5: Indicadores en pruebas de rendimiento

Contadores / indicadores en base de datos. Descripción

Responsable: Administrador de Servidores.

Métodos de implementación de los diferentes elementos a monitorizar en los servidores de Base de datos:

Accesos a disco

Monitorizar los accesos a discos con el fin de determinar si se presentan contenciones.

Uso de memoria (RAM)

Monitorización de los niveles de memoria en los servidores, determinando así excesivo consumo de CPU por falta de memoria.

Utilización de CPU

Monitorización de las CPU y su utilización, para evitar el consumo excesivo.

Errores del sistema

Monitorización de los errores del sistema.

Espacio libre en disco

Monitorización del volumen de ocupación de los volúmenes de discos.

Contadores / indicadores en base de datos: consultas pesadas

Ciclos del plan de pruebas

Definir el ciclo del plan de las pruebas de rendimiento.

Especificaciones técnicas de las pruebas

Definir las especificaciones técnicas de las pruebas de rendimiento.

Pruebas de carga sostenida

Características del lanzamiento

Nivel de concurrencia

Ejemplo:

Durante las pruebas se propone un nivel de concurrencia del 60% con respecto al punto de saturación determinado durante las pruebas de estrés, durante 24 horas consecutivas.

Número de lanzamientos

Esta prueba se realizará, al menos tres veces, reiniciando el sistema cada una de ellas. Se comprobará que la ejecución prolongada no degrada el rendimiento ni constituye un peligro para la estabilidad del sistema.

Definición de los indicadores

Tipificación de los nodos del sistema

En este punto se detallan las características de los distintos nodos, de forma que nos sirva para determinar el conjunto de indicadores asociados al tipo de nodo en el que nos encontramos. Los distintos nodos y sus características asociadas que se encuentran en el sistema son los siguientes:

Servidor web:

ASP.NET cliente.

Cliente WCF.

Servidor de negocio:

Aplicación .Net.

Servidor WCF.

Acceso a base de datos.

Servidor de base de datos:

Base de datos.

Nota: Para que esta tipificación sea válida debe existir un conjunto de indicadores para las características de los nodos definidos, ya que para cada característica se debe existir dicho conjunto de indicadores que tenga en cuenta sus posibles cuellos de botella o problemas de pérdida de recursos.

Indicadores específicos

En este apartado se definen indicadores específicos para el sistema a probar que no aparezcan ya entre los indicadores predefinidos por las características del sistema.

Contadores de rendimiento del sistema. Definición

Indicador	Explicación
Bytes enviados/s	Nº de bytes enviados/s es la frecuencia a la que se envían bytes de datos mediante el servicio Web.
Bytes recibidos/s	Nº de bytes recibidos/s es la frecuencia a la que se reciben bytes de datos mediante el servicio Web.
Bytes total/s	Nº total de bytes/s es la suma de Nº de bytes enviados/s y Nº de bytes recibidos/s Éste es la tasa total de archivos transferidos mediante el servicio Web.
Conexiones actuales	Nº actual de conexiones es el número actual de conexiones establecidas con el servicio Web.
Solicitudes correctas	Número de solicitudes correctas atendidas.
Solicitudes de tiempo de ejecución	Tiempo de respuesta de la última solicitud realizada
Solicitudes actuales	Solicitudes actualmente atendidas
Solicitudes desconectadas	Número de solicitudes desconectadas por errores en la comunicación o porque el usuario terminó.
Solicitudes en cola	Número de solicitudes en espera de proceso.
Solicitudes rechazadas	El número de solicitudes se ha rechazado porque la cola de solicitudes estaba llena.
Tiempo de espera de la solicitud	Número de milisegundos que la solicitud más reciente esperó en la cola.
% tiempo de procesador	Tiempo de procesador es el porcentaje de tiempo durante el cual los subprocesos de este proceso han utilizado el procesador para ejecutar instrucciones. Una instrucción es la unidad básica de ejecución en un equipo, un subproceso es el objeto que ejecuta instrucciones y un proceso es el objeto creado cuando un programa se ejecuta. Se puede contar para este proceso el código ejecutado para controlar ciertas interrupciones de hardware o condiciones de captura.

Tabla 6: Indicadores en pruebas de carga sostenida

Contadores / indicadores en base de datos. Descripción

Responsable: Administrador de Servidores.

Métodos de implementación de los diferentes elementos a monitorizar en los servidores de Base de datos:

Accesos a disco

Monitorizar los accesos a discos con el fin de determinar si se presentan contenciones.

Uso de memoria (RAM)

Monitorización de los niveles de memoria en los servidores, determinando así excesivo consumo de CPU por falta de memoria.

Utilización de CPU

Monitorización de las CPU y su utilización, para evitar el consumo excesivo.

Errores del sistema

Monitorización de los errores del sistema.

Espacio libre en disco

Monitorización del volumen de ocupación de los volúmenes de discos.

Contadores / indicadores en base de datos: consultas pesadas

Referencias

Lista y ubicación de los documentos referenciados en el documento de alcance.

Se desglosa a continuación el material de soporte, utilizado para la elaboración del presente documento:

Código	Título

Tabla 7: Referencias