Insights

Noticias, novedades e información sobre el mundo Hard Tech

¿Se puede aplicar la Continuous Testing en SAP?

por: Inmetrics em

| 03.04.2019

Con el objetivo de acelerar la curva de adopción de nuevas tecnologías, sin afectar la continuidad de negocios, la jornada de la transformación digital en las organizaciones aumenta la presión por la automatización en todas las etapas del ciclo de vida del desarrollo de software.

Una de las medidas que más se comprime para reducir tiempo y costos es la prueba del software. Para modelos de desarrollos tradicionales, los estudios indican que alrededor del 32% del tiempo entre el diseño y la entrada en producción de una funcionalidad se gasta en pruebas de software. Por eso, automatizar al máximo este proceso es una directriz en todos los equipos.

Incluso para grandes exponentes del mundo del desarrollo de software, como SAP, esta realidad no es diferente. La automatización de pruebas tiene un papel fundamental en habilitar la implantación de esteras de desarrollo ágil (CI / CD) y DevOps en esa plataforma y conseguir que las nuevas funcionalidades lleguen en producción en el menor tiempo posible.

Sin embargo, algunos problemas impiden la implementación de soluciones de automatización de pruebas a gran escala:

 Conocimiento funcional SAP

Con la falta de analistas funcionales para realizar las pruebas, muchas veces la cobertura de las pruebas queda perjudicada. Casos específicos de negocio pueden quedar fuera de las pruebas por falta de conocimiento funcional en módulos y proceso de negocios.

Masa de datos

La creación de masa de datos para permitir probar situaciones específicas también es un gran desafío para los equipos. Por más que existan diversas soluciones de copia o subsetting de los datos de producción, encontrar la masa de pruebas y mantener esta masa válida sigue siendo uno de los grandes desafíos de las pruebas realizadas en la plataforma SAP.

Integraciones con sistemas heredados

Para la gran mayoría de las implementaciones SAP del mercado, la integración con otros sistemas es una gran fuente de defectos. Nuevas implementaciones en cualquiera de las dos puntas demandan una nueva serie de pruebas funcionales en la plataforma, con la finalidad de garantizar el funcionamiento correcto de la funcionalidad.

Mantenimiento de secuencias de comandos de automatización de pruebas

Como la automatización de pruebas utiliza los componentes del sistema, cada vez que los componentes cambian es necesario actualizar los scripts de automatización. Por lo tanto, los sistemas que tienen un alto grado de actualización / evolución (y por eso necesitan una mayor cobertura de pruebas) demandan un mayor porcentaje de mantenimiento de estos scripts.

Dado este escenario, se plantea la principal pregunta que este artículo se propone responder:

 

¿Cómo podemos implementar un framework de pruebas continuas para SAP?

La solución para esta respuesta pasa por la implementación de una herramienta llamada Testimony de Basis Technologies.

 

Nuevo Paradigma

En lugar de ejecutar pruebas basadas en scripts creados por los automatizadores, la herramienta Testimony crea las pruebas basadas en la captura de las transacciones de producción. Esta técnica permite realizar pruebas de regresión de forma 100% automatizada y de manera continua.

 

¿Verdad?! Entonces.. ¿Cómo funciona?

 

  1. Discover: En la primera fase, un listener se instala en producción. Utiliza la propia estructura tecnológica de SAP para capturar las transacciones realizadas.
  2. Learn: Todas las transacciones, datos e integraciones realizadas por SAP en un determinado período son capturadas, clasificadas y priorizadas según el uso. En esta fase, es posible utilizar decenas de filtros para capturar sólo partes de las transacciones, si se desea.
  3. Setup: En el momento de la ejecución de las pruebas, un nuevo entorno virtualizado se crea exclusivamente para esta ronda. Los datos capturados de la producción se copian en el entorno de prueba. Las integraciones con sistema heredado se virtualizan según las entradas y salidas capturadas. Por último, se realiza un merge entre los cambios realizados por el equipo de desarrollo y la versión de la aplicación que está en producción.
  4. Validate: Para validar si el sistema sigue funcionando, la herramienta ejecuta nuevamente todas las transacciones seleccionadas (en un 10% a 15% del tiempo de ejecución de la producción) en el nuevo entorno de prueba único (que tiene todos los datos e integraciones virtualizadas necesarias para las pruebas) y señala las diferencias entre el resultado obtenido en la producción y el resultado de las pruebas.

¡Wow! ¡Eso parece muy bueno! ¿Puedo usar en qué casos?

 

  1. Upgrades / Updates: Las actualizaciones de SAP son excelentes escenarios para utilizar el paradigma de pruebas continuas para validar si los módulos y procesos de negocio siguen funcionando correctamente.
  2. Migraciones (para Cloud o Hana): Las migraciones también necesitan mucha prueba de regresión y es un excelente caso de uso de la solución.
  • Desarrollo de nuevas features: Incluso nuevos desarrollos, requieren un grado considerable de pruebas de regresión. Los nuevos cambios deben ser probados utilizando el método tradicional, sin embargo, los impactos del cambio pueden ser probados utilizando la solución y después de implantado en producción los nuevos cambios han visto pruebas regresivas para las próximas entregas del proyecto.
  1. Soporte a la producción: La solución también se puede utilizar para investigar los problemas que se produjeron en la producción y deben reproducirse en el entorno controlado para analizar el problema y se conservan después de la corrección del defecto.

¡Interesante! ¿Hay más beneficios?

  • Menos costos: Disminuir los costos de cambio en hasta un 50%
  • Más Entregas: Entrega de proyectos hasta 50x más rápidos
  • Menos esfuerzo manual: Reducción de esfuerzos manuales hasta un 95%
  • Más Calidad: Reducción de incidentes en hasta un 50%

 

Escrito por:

Rafael Nóbrega
Head, Digital Products – Inmetrics

Formación en Ciencias de la Computación por la Universidad Federal de Pernambuco y especializaciones en Technical Management por la Universidad de California y Leading Product Innovation por la Harvard Business School.