En este artículo te indicamos porque es necesario realizar pruebas de rendimiento a tu aplicación.
Una prueba de rendimiento o prueba de performance apunta a determinar el comportamiento de una aplicación cuando se genera una alta demanda de uso.
Es una situación muy común en aplicaciones corporativas, en soluciones de e-commerce, servicios en línea para la oferta de productos en fechas especiales que la capacidad del sistema se ve desbordada y la experiencia de usuario se ve degradada.
El objetivo principal es determinar si la aplicación se comporta como se espera, principalmente cuando el volumen de trabajo es grande. Se busca determinar el desempeño general del sistema y detectar cuellos de botella que puedan desestabilizar la aplicación y afectar la buena experiencia del usuario.
Durante el performance test se toman en cuenta diferentes indicadores como: nivel de respuesta, velocidad, escalabilidad y estabilidad, recursos consumidos, entre otros.
Para llevar a cabo, se simula de la manera más realista posible la aplicación, y se ejecuta de distintas maneras y en diferentes situaciones de uso. Por ejemplo, es ideal para determinar el comportamiento de una aplicación cuando ingresan en forma simultánea varios, cientos, miles de usuarios. Permite medir su rendimiento cuando se ejecutan algunas operaciones. Al finalizar las pruebas, se analizan todos los datos generados evaluando el desempeño general de la aplicación. En caso de encontrar anomalías comienza un profundo trabajo de investigación para detectar los problemas del sistema. Puede tratarse de aspectos referidos a la aplicación misma, el software de soporte como Bases de Datos, el sistema operativo, fallas en el hardware, como el servidor, servidores redundantes o la infraestructura de la red.
Antes de lanzar una aplicación en producción es recomendable realizar un performance test para ajustar el sistema a su mejor desempeño. Si la aplicación se libera sin ser probada y presenta fallas en el desempeño, se pueden correr riesgos muy graves, los cuales estamos seguros prefieres evitar.
En definitiva, un mal desempeño en una aplicación, aunque sea una vez, resulta tener un usuario insatisfecho que no volverá más o hablará mal de su experiencia. Si esto lo traduce en una escala de interacciones simultáneas, los riesgos de perder son exponenciales.
En la oferta de servicios on line, el usuario espera respuesta inmediata, poderse conectar, obtener lo que quiere en el menor tiempo posible. Un mal desempeño del sistema implica perder visitas, clientes, ventas y credibilidad. En jornadas como el Cyberlunes, que se realiza tanto en Uruguay como en Colombia durante este mes, es primordial establecer la capacidad de carga en situaciones críticas, horas pico y acciones simultáneas, ya que pueden acceder en pocos días cientos de personas a un sitio web. En Colombia la jornada anterior gestionó más de un millón doscientas mil visitas concentradas en tan sólo dos días.
En los sistemas de gobierno electrónico hay aplicaciones que son estacionales como las que cobran impuestos, que tienen alta demanda en períodos concretos y la no disponibilidad puede implicar perder la recaudación y generar multas al ciudadano por pagos fuera de fecha. En un banco, si su sistema de web banking no está disponible puede generar daños a la reputación y pérdida de confianza en la institución.
Un performance test implica realizar varios tipos de pruebas específicas para conocer el comportamiento en distintas situaciones. Alguna de estas pruebas se describe a continuación.
En ese caso la carga de la aplicación se va incrementando progresivamente hasta cierto punto. Por ejemplo, se van incrementando la cantidad de usuarios que utilizan la aplicación o la cantidad de transacciones que se realizan en forma simultánea.
Se prueba la estabilidad del sistema cuando los recursos de hardware son insuficientes como la CPU, memoria o el espacio en disco duro, la capacidad de respuesta de l base de datos o cualquier otro componente del sistema.
En este caso se somete a la aplicación a grandes volúmenes de datos a procesar para validar la eficiencia y probar así el desempeño de la Base de Datos y los sistemas de almacenamiento.
Antes de lanzar al mercado una aplicación. También es oportuno realizarlo frente a cambios en la configuración de servidores o en la infraestructura de base software y hardware de la aplicación. Cuando se introducen servidores redundantes o sistemas de contingencia y frente a períodos donde se experimente una demanda fuera de lo común es recomendado hacer un performance test previo.
Uno de nuestros clientes estaba frente a un cambio importante de infraestructura donde se estaba agregando un nuevo servidor para migrar una aplicación que ya estaba en producción. El servidor nuevo estaba configurado de igual forma que el servidor actual y tenía las mismas características de hardware. Es decir, que a efectos prácticos eran iguales. Al comenzar las pruebas se simulaban unos 2500 usuarios conectados. El nuevo servidor se caía en 1600 usuarios consistentemente. Luego de un análisis profundo se detectó que en el nuevo servidor se generaba un log donde se registraban datos de las operaciones realizadas que llenaba su capacidad y hacía que la Base de Datos dejara de funcionar. Finalmente se aplicó un parche a la instalación de Base de Datos y todo funcionó correctamente.
En Software Testing Bureau nos especializamos en pruebas de software para validar que los negocios que operan a través de plataformas tecnológicas obtengan buenos resultados.
Nuestra meta es que todo el software que se libere sea efectivo. Nuestras pruebas funcionales garantizan una operación impecable de las soluciones de software en todas las instancias de un negocio, las que están de cara al cliente y las que no, es decir, las que operan en las diferentes áreas de una empresa, para que al final del proceso se pueda asegurar una experiencia del cliente cautivante y confiable.
Colaboramos con la transformación digital asegurando que las plataformas tecnológicas y los negocios de hoy funcionen correctamente.
Brindamos servicios de pruebas funcionales, pruebas de seguridad y pruebas de rendimiento, colaborando con la empresas abocadas en procesos de transformación digital para asegurar el éxito de los proyectos.
Somos una empresa especializada en pruebas de software y nuestra meta es que todo el software que se libere sea funcional, seguro y confiable. Contamos con más de veinte años de experiencia realizando pruebas de software para clientes de toda Latinoamérica.