Pruebas de rendimiento en eCommerce
Beneficios de la virtualización de servicios
En ocasiones los eCommerce no soportan las avalancha de cientos de clientes consultando las mismas ofertas, la página tarda en cargar y se producen fallos y errores con las pasarelas de pago y otros servicios que afectan a la experiencia de usuario. La solución para evitar estos problemas es probar la calidad de webs y Apps a través de las pruebas de rendimiento, pero los entornos eCommerce son muy complejos, a la hora de realizar las pruebas los testers se enfrentan a diversos retos, como la falta de disponibilidad del entorno o de alguno de sus componentes. Los consultores de Globe aplican para ello una solución innovadora basada en simular la conducta de un servicio en un entorno de producción utilizando la herramienta Service Virtualization de Micro Focus.
Para que los visitantes compren en tu eCommerce hay que mantenerlos en tu página, cada segundo en el tiempo de carga afecta a las inversiones negativamente. Pero no es extraño que los clientes abandonen los carritos, las webs y Apps de eCommerce son entornos muy complejos susceptibles de fallos y errores, la forma más sencilla de evitarlos es a través de la realización de las pruebas de rendimiento
Retos de las pruebas en entornos eCommerce
Los sistemas son cada vez más complejos, por eso se hace muy difícil coordinar que todos los servicios implicados estén disponibles y estables porque cada uno de estos subsistemas es gestionado por equipos diferentes y siguen su propio ciclo de vida de desarrollo, lo que implica que las ventanas de disponibilidad de los entornos de pruebas sean difíciles, o incluso imposibles de gestionar y, por lo tanto, la calidad de las pruebas de rendimiento se ve notablemente reducida. Para solucionar este problemas los expertos de Globe aplican una estrategia innovadora basada en simular la conducta de un servicio en un entorno de producción utilizando la herramienta Service Virtualization de Micro Focus, de esta forma los equipos de desarrollo y pruebas mantienen sus servicios al margen del acceso a los sistemas de producción.
Beneficios de la virtualización de servicios
La utilización de Micro Focus Service Virtualization unido al expertise del consultor que realiza las pruebas beneficia al equipo de QA que puede realizar pruebas más tempranas y más exhaustivas sin depender de terceros. Pero, no sólo los testers son los que sacan rendimiento de esta herramienta, el proyecto se verá beneficiado tras la ejecución de distintas pruebas, con el objetivo de comprobar que la calidad del desarrollo es la idónea y cumple con los requisitos para los que fue diseñado. Otra técnica que se puede utilizar para solventar este problema, es aplicar una configuración de los componentes en modo “stub”. El stub, es una parte de código que se utiliza como sustitución de alguna funcionalidad, pudiendo simular el comportamiento del código existente o ser la suplantación temporal para un código no desarrollado, tratando de reproducir las respuestas que se obtendrían ejecutando el código real pero sin ejecutarlo, devolviendo directamente las respuestas previamente programadas al cliente. Para desarrollar el “stub” es necesario tener máximo conocimiento de la aplicación e invertir recursos en preparar esta funcionalidad, modificando directamente el código de la aplicación. Esto supone un impacto negativo en la planificación de los proyectos y una tarea que rara vez los equipos de desarrollo asumen, ya que no forma parte del alcance de los proyectos y por lo tanto es difícil coordinar y llevar a cabo esta tarea.
Pasarelas de pago
Utilizando la herramienta Micro Focus Service Virtualization los testers no necesitarán tener conocimiento de cómo está programada la aplicación y son independientes a la hora de simular cualquier funcionalidad. Pueden diseñar la virtualización del servicio realizando ejecuciones previas con un juego de datos de prueba amplio y así poder simular las casuísticas suficientes para las pruebas de rendimiento. Micro Focus Service Virtualization es capaz de aprender y simular las diferentes casuísticas de cada petición y dar las respuestas adecuadas en cada caso. Todo esto permite dotar de autonomía al equipo de pruebas y evita los riesgos de la indisponibilidad de los entornos. Otra de las ventajas que ofrece Service Virtualization es la opción de configurar parámetros de rendimiento, como por el ejemplo el ancho de banda, las peticiones por hora, evolución de los tiempos de respuesta del servicio, etc , aportando valor añadido a las pruebas.
Un ejemplo real podría ser virtualizar una pasarela de pago que facilita la transferencia de información entre un portal de pago y un banco de forma rápida y segura. Al ser un servicio desarrollado por un tercero es difícil poder hacer pruebas contra el sistema. En este caso, se realizaría el proceso real con diferentes tipos de datos para ver las diferentes opciones de respuesta en la compra. En ese mismo momento Service Virtualization estará escuchando y aprendiendo cuales son los valores para luego poder simularlos en las pruebas y proveer respuestas correctas para los diferentes casos de prueba. Por lo tanto, la virtualización de servicios nos ayuda a que una aplicación desarrollada no encuentre problemas a la hora de testearla o desarrollarla debido a que alguien ajeno al equipo esté utilizando o modificando ese mismo servicio, o porque alguno de sus componentes no se encuentre disponible. El equipo de pruebas podrá “crear” estos servicios para tenerlos accesibles en todo momento y poder realizar las pruebas, reduciendo costes y adquiriendo un producto con mayor calidad.