Llámanos a +52 229 9353278 +52 229 2837658
o contáctanos
a través de correo electrónico.

Calidad de Software | 5 min de lectura

Pruebas de estrés /

| 2020-03-05 13:36:09


Como empresa profesional, que se encarga de apoyar a nuestros clientes en la integración de soluciones tecnológicas en sus procesos, es nuestra responsabilidad proporcionar la información necesaria para asegurar al cliente que su servidor cuenta con los recursos necesarios para soportar al menos 70 usuarios que realicen pedidos simultáneamente.

Introducción

El propósito de Ehecatl es entregar soluciones confiables que ayuden a nuestros clientes agilizar procesos de trabajo con ayuda de soluciones de software.

Una fase muy importante dentro del ciclo de vida de software es la etapa de evaluación de la calidad de software. Esta incluye evaluación funcional, seguridad de la información entre otras, sin embargo, hay una prueba que es importante también realizar y se encuentra relacionada a la infraestructura a utilizar.

Cuando hablamos de una nueva solución, el dueño del proceso o líder interno dentro de la organización que esta por implementar una nueva solución tecnológica debe preguntarse: ¿Cuántos usuarios estarán simultáneamente conectados?, ¿Qué tipo de consumo estarán realizando?, ¿Conocemos los picos de trabajo?, etc.

Aquí se abren 2 rutas, si es un proceso que sufrirá una actualización podemos con herramientas automatizadas conocer el estado actual de consumo, obtener una mediana y partir de allí. Para el segundo caso, las cosas son diferentes, sobre todo si hablamos de una implementación completamente nueva, tenemos que partir de una incertidumbre controlada. Como fundamento inicial sería respondernos la pregunta ¿Quién es mi público? ¿Es posible cuantificarlo?, ¿Cuento con información de crecimiento? o es un público con una población determinada?

Para este caso de estudio, estamos tomando la ruta 1, ya que conocemos una población determinada y sabemos el consumo que estas estarán realizando, el reto viene solamente saber si la infraestructura que tengo cuenta con los recursos necesarios o bien que recursos necesito para cubrir la demanda. Es por ello que se estableció una metodología de trabajo para poder encontrar los hallazgos que sean útiles al usuario final y entonces tener la certeza de la capacidad de recursos.


Objetivo

En relación con lo anterior se planteó el siguiente objetivo:

Realizar las pruebas de estrés que permitan proveer información necesaria para asegurar al cliente la cantidad de usuarios que pueden realizar pedidos con éxito simultáneamente. 

Metodología

Prueba Manual para realizar pedido de manera simultánea

Dentro de nuestra experiencia estadística en el desarrollo en aplicaciones móviles correspondiente a este tipo de soluciones (e-commerce industrial), hemos encontrado que, del número total de usuarios a utilizar la aplicación móvil, sólo entre un rango de 5-10% se encuentra haciendo peticiones de manera simultánea. 

A partir de esta información procedió a realizar las siguientes pruebas simultáneas en un rango de 4 a 15 usuarios realizado peticiones (órdenes de pedido) de manera simultánea. Estos representan el 10% del total de usuarios a los que está dirigido la aplicación.  Cada prueba fue repetida 3 veces como mínimo con la finalidad de tener una media representativa en las respuestas.  


Cantidad de usuarios (dispositivos)

15

8

7

6

5

4

Repetición 

3

4

3

4

4

5

Total de peticiones por no. de usuario 

45

32

21

24

20

20



Total de peticiones

162


Tabla 1. Plan experimental de pruebas simultáneas



Resultados

Prueba Manual para realizar pedido de manera simultánea

En relación con la prueba de estrés realizada, en la figura 1 podemos observar el número de éxitos y errores por número de usuario que se involucraron en las pruebas simultáneas.  Del número de usuarios utilizados, que realizan peticiones de manera simultánea el porcentaje de éxito varían entre 80 a 91% y por consiguiente porcentaje de error se encuentra entre un 9 a 20 %. 


Figura 1. Éxitos y errores por número de usuarios en pruebas simultáneas


En la figura 2. Podemos observar que a mayor es el número de peticiones simultáneas, mayor es la cantidad de que estas sean exitosas con una desviación estándar promedio de 0.77. El comportamiento de las respuestas exitosas a simple vista es un comportamiento lineal, lo cual nos permitir extrapolar la información, sin embargo, es recomendable realizar más pruebas con mayor cantidad de usuario a un máximo de 30, para asegurar la información extrapolada. 

Además, podemos observar que, con respecto a los errores en la respuesta, aunque el número de peticiones totales simultáneas incrementa, el valor del error en la petición se mantiene en un valor promedio de 1.1 con una desviación estándar promedio de 0.8.


Figura 2. Media y desviación estándar por número de usuarios en pruebas simultáneas


En la figura 3 se observa que del total de peticiones realizada de manera simultánea el 85% se realizaron con éxito (139) y el 15 % presentó algún error (24). 


Figura 3. Éxitos y errores del total de peticiones en pruebas simultáneas

Conclusión 

En relación con las pruebas realizadas podemos concluir que sin importar el incremento del número total de usuarios realizando peticiones de manera simultánea hay evidencia experimental y estadísticas para decir que al menos 1 error es posible que se presente con una desviación estándar promedio de 0.8.  

Tomando en cuenta los resultados generales, del 100% de peticiones realizada de manera simultánea el 85% fueron éxitos y el 15% prestan un error. Este error del 15 % se vuelve un poco alarmante cuando hablamos de no de usuarios de mayor a 100 que realicen peticiones simultáneas. Sin embargo, la aplicación móvil está construida con la finalidad de que se muestre un mensaje al usuario, indicando que algo sucedió y solicitando que realice nuevamente la acción de “realizar pedido”. 

Durante las pruebas del 100 % de la petición que presentaron error, al realizar nuevamente la acción de “realizar pedido” el 100% se realizó con éxito. 

Es recomendable realizar este tipo de pruebas teniendo acceso al servidor, lo cual permitirá tener la información en tiempo real, realizar una mejor conclusión sobre los resultados y definir si los recursos son suficientes para soportar un número considerablemente alto de peticiones simultáneamente y se realizadas con éxito. 



Te recomendamos estas publicaciones:

Calidad de Software | 2 min de lectura

2021-11-22 17:18:23