Noticias > Artículos de opinión

Pruebas End-to-End Automatizadas para el sector financiero

13 Diciembre, 2015

Por José Urbano González, Responsable de Pruebas Técnicas de MTP

Nuestro cliente desarrolla y mantiene una serie de aplicaciones Web que comparten una arquitectura core basada en Microsoft .Net, usando Visual Basic, XML y SQL Server cómo sistema gestor de BBDD.

Su equipo de desarrollo opera siguiendo una metodología ágil mediante un enfoque basado en ciclos mensuales de entrega. Una característica de la metodología ágil es el manejo de una reducida cantidad de documentación, con la consecuente dependencia en los conocimientos individuales del equipo de desarrollo para el soporte y corrección del código desarrollado.

En esta situación Nuestro Cliente necesitaba:

  • Aumentar el grado de cobertura de la actual automatización de pruebas englobando el conjunto de funcionales críticas de la aplicación.
  • Reducir el Time to Market de desarrollo disminuyendo el tiempo de mantenimiento correctivo de las nuevas soluciones entregadas.
  • Aumentar el grado de satisfacción del cliente final, asegurando la calidad del software entregado mediante la disminución del ratio de incidencias detectadas tras la finalización de cada ciclo de desarrollo.

En esta situación, MTP decide abordar la implementación de un programa a corto plazo ("Quick Win") de automatización de pruebas de regresión que habilitara en ocho semanas -dos ciclos de desarrollo- una solución de automatización con cobertura para el 100% de las áreas críticas de negocio y el 80% de la funcionalidad asociada a la arquitectura core de los aplicativos.

Los retos en el área TI fueron los siguientes:

  • Desarrollar un marco de trabajo de automatización de pruebas de regresión modular basadas en la herramienta QTP.
  • Proporcionar una interfaz compresible al negocio con respecto a las pruebas de regresión basada en entregables estandarizados que asegure la calidad del SW entregado.
  • Aumentar el grado de cobertura de las actuales pruebas de regresión en una serie de áreas funcionales críticas identificadas por el negocio.

MTP adopta un enfoque basado en las siguientes actividades: 

Tareas pre-automatización:

  • Obtención de la información existente acerca del aplicativo cuyas pruebas de regresión se desean automatizar.
  • Análisis de los desarrollos de automatización QTP pre-existentes.
  • Presentación de un plan de automatización ajustado a ocho semanas detallando el esfuerzo asociado, los recursos requeridos y con hitos intermedios que habiliten su seguimiento por parte de la dirección.

Desarrollo de un marco de trabajo de automatización:

  • Diseño de inputs/outputs de proceso que proporcionen una interfaz entendible a la dirección y al equipo de desarrollo.
  • Establecimiento de una serie de entregables estándar que industrialicen la implementación de la automatización y que puedan ser manejados mediante aplicaciones ofimáticas comunes.
  • Diseño modular de la automatización que permita reutilizar en el mayor grado posible los scripts QTP pre-existentes.

Implementación de la automatización:

Basado en el marco de trabajo anteriormente establecido se han desarrollado cuatro escenarios end-to-end sobre los que se han llevado a cabo pruebas de regresión en el actual ciclo de vida de desarrollo de Software del cliente que representan 15 días de simulación de operación cubriendo las áreas funcionales críticas identificadas por el negocio.

Para cada escenario de prueba se han completado los entregables (inputs/outputs del proceso):

  • Escenario de pruebas
  • Plan de pruebas
  • Juegos de datos de prueba
  • Juegos de resultados esperados
  • Scripts QTP desarrollados.

Se utiliza un enfoque parametrizable (data-driven) en el diseño de esta implementación. De esta forma es posible definir más escenarios o realizar modificaciones en el orden de los eventos simulados a través de parámetros de la aplicación sin necesidad de modificar el código QTP desarrollado.

Tanto los datos de entrada cómo los resultados esperados son manejados mediante hojas Excel desvinculadas del código. Esto permite el manejo de la aplicación por personal no experto en programación QTP.

Ejecución de la automatización desarrollada

Se ejecutan los escenarios de pruebas implementados para realizar las pruebas de regresión de la última reléase de la aplicación con el fin de obtener los resultados producidos por las nuevas funcionalidades implementadas.

  • Envío automático de los defectos encontrados al equipo de desarrollo.
  • Reporte automático de resultados obtenidos con elaboración de cuadro de mandos para la dirección.
  • Envío a negocio de las divergencias detectadas entre los resultados ofrecidos por la aplicación frente a los esperados previamente calculados para su análisis.
Los beneficios para el cliente:

Mejora del Time to Market efectivo del producto

La implementación de esta solución permite acortar los tiempos de entrega de las soluciones al lograr detectar incidencias graves en fases más tempranas. Se consigue, asimismo, la ejecución desatendida de las pruebas de regresión en, aproximadamente, un 10% del tiempo del correspondiente a su ejecución manual y se reduce de manera drástica la posibilidad de error humano inherente a las pruebas manuales. Es posible reutilizar el 90% del código de QTP desarrollado durante múltiples releases.

Mejora de la calidad de Software

Se han integrado cuatro escenarios end-to-end sobre los que se han llevado a cabo pruebas de regresión en el actual ciclo de vida de desarrollo de Software del cliente que representan 15 días de simulación de operación, cubriendo el 80% de la actividad diaria de la aplicación.

Mediante la ejecución de los escenarios end-to-end implementados se detectan defectos pre-existentes en el SW y, en un plazo de 24 horas, se detectan 15 incidencias en la nueva release desarrollada. Un 20% de las incidencias fueron detectadas en la release anterior, produciéndose de forma recurrente.

El tipo de incidencias detectadas antes de implantar la solución requeriría de pruebas manuales muy extensivas en el tiempo y proclives a la contaminación de los resultados por la introducción manual de los datos asociados.

Facilidad de uso y mantenimiento

Se ha implementado un marco de trabajo de automatización parametrizable que permite al cliente desarrollar nuevos escenarios de pruebas. Se ha incrementado la facilidad de uso de la aplicación mediante el desarrollo de nuevas funcionalidades cómo:

  • Modelo de cálculo de resultados esperados.
  • Automatización del reporte de resultados y creación de cuadro de mandos para la dirección.
  • Automatización del envío a desarrollo de los defectos encontrados.

La aplicación permite la parametrización de los datos de entrada, resultados esperados y eventos a ejecutar en un escenario de pruebas. De esta forma se pueden adaptar las pruebas de regresión en función de las necesidades del negocio.

Si desea ampliar la información sobre la propuesta de Pruebas End-to-End Automatizadas, no dude en ponerse en contacto con nosotros.

Compartir