Pruebas de software y rendimiento de los sistemas SAP
El equipo de pruebas de FIS-ASP no tuvo dudas cuando se planteó esta pregunta. Eran muy conscientes de los requisitos especiales que se exigían al software.
Para anticipar: La prueba no fue una decepción, al contrario. La tarea de probar el software y el rendimiento de los sistemas SAP debía realizarse con herramientas de código abierto. El proyecto OpenQa elegido para ello fue desarrollado originalmente por Suse.
Muchas empresas utilizan OpenQa para pruebas automatizadas de software y lo integran en los procesos de integración continua de la gestión del código fuente. De este modo, se prueban distribuciones enteras de Linux de forma totalmente automática.
Dado que OpenQa puede realizar y comprobar entradas de la interfaz gráfica de usuario mediante el reconocimiento de imágenes y también analizar muestras de sonido reproducidas, enseguida quedó claro que las tareas no serían imposibles.
Las pruebas en sí tienen lugar en imágenes preparadas que representan una máquina virtual completa. Las máquinas virtuales se crean con QEMU - en su extensión KVM, este no es un producto extraño para el equipo de pruebas de FIS-ASP, ya que también está aprobado para la virtualización de sistemas SAP y también se utiliza en OpenStack Cloud.
Por tanto, un esfuerzo estimado originalmente muy elevado para un proyecto de este tipo se reduce enormemente si las tecnologías utilizadas ya se conocen.
Durante las pruebas iniciales, se hizo evidente que OpenQa puede utilizarse para probar no sólo el software, sino también el rendimiento de forma automática. FIS-ASP desarrolló varios escenarios con este fin: En primer lugar, se realizó una prueba que creaba un número predefinido de usuarios en el sistema SAP.
Todas las interacciones con SAP se realizaron a través de la SAP GUI para Java, que se ejecuta en una pequeña máquina virtual Linux. A continuación se iniciaron en paralelo otra serie de "pruebas", cada una de las cuales representaba a un usuario.
Lo único que había que tener en cuenta aquí eran los casos de uso específicos de la empresa para medir de forma fiable el sistema SAP que se iba a probar en situaciones de carga y registrar los datos de rendimiento de forma específica.
Las distintas pruebas se definen en archivos JSON fáciles de editar y, por tanto, también pueden personalizarse mediante scripts. Una vez ejecutadas todas las pruebas, todos los usuarios creados previamente pueden volver a eliminarse en SAP con un paso más.
Las pruebas de interfaces basadas en navegador, como las aplicaciones Fiori, se pueden gestionar del mismo modo que las pruebas a través de la interfaz gráfica de SAP. Los probadores de FIS-ASP utilizaron Chrome y Firefox como navegadores compatibles con SAP.
En cuanto a la escalabilidad, el requisito era poder realizar pruebas de rendimiento para más de 10.000 usuarios con una cantidad adecuada de hardware.
La escalabilidad en hardware ya estaba dada por OpenQa, multinodo podía ser configurado allí en la interfaz. Sin embargo, como cada prueba representa una máquina virtual en el servidor OpenQa, FIS-ASP investigó algunas opciones en la gestión de memoria de Linux.
Los mejores resultados se obtuvieron utilizando KSM (Kernel Samepage Merging). Aquí, las páginas de memoria que no difieren sólo se almacenan una vez en la memoria principal y se presentan a todos los procesos que las necesitan.
El gran número de tareas diferentes que pueden resolverse con OpenQa reduce significativamente el número de herramientas diferentes que habría que utilizar de otro modo.
La solución puede utilizarse para crear complementos útiles para SAP y los sistemas circundantes, manteniendo al mismo tiempo una carga de trabajo reducida gracias a su alto grado de automatización.
Además, al trabajar con OpenQa, siempre hay nuevos enfoques de uso, ya se trate de realizar retrabajos estandarizados tras copias del sistema o tareas sencillas como cambios de contraseña.
El control integrado de todos los pasos realizados en las respectivas pruebas permite supervisar y documentar el éxito de las actividades.