Aunque puede decirse que el principal beneficio de la automatización es la reducción del esfuerzo manual en pruebas, sus beneficios van mucho más allá. La automatización permite ejecutar un volumen de casos de prueba mayor en un menor tiempo para adaptarse a time-to-markets exigentes; Dota a las pruebas de una mayor exhaustividad, ya que permite incluir comprobaciones que no se realizarían manualmente y, finalmente, también consigue independizar la ejecución de los casos de prueba del ejecutor.
Hay que tener en cuenta que la automatización no sustituye la actividad de los ingenieros de pruebas, si no que es un complemento que mejora y fortalece esa actividad. Siempre será necesario realizar pruebas manuales, pero con la automatización se logra dirigir los esfuerzos manuales a actividades de mayor valor, como pueden ser el diseño y la ejecución de los casos de pruebas de las nuevas funcionalidades, el seguimiento y la gestión de las incidencias y defectos, etc. Es decir, la automatización de pruebas no solo aporta cantidad, sino también calidad.
Durante mucho tiempo han existido dos grandes tendencias en la automatización de pruebas: la automatización mediante herramientas comerciales que permitían altas productividades a cambio de un precio por licencias, y las de herramientas open source que aportan un coste bajo a cambio de una mayor especialización por parte de los recursos y que se implementaban en etapas cercanas al Desarrollo. Con posterioridad se ha evolucionado hacia la visión de negocio, por ejemplo, herramientas de automatización como SAP TAO implementan de serie funciones y librerías que permiten construir procesos de negocio complejos.
Actualmente, la mayor revolución se ha producido con los dispositivos móviles. Hoy en día existen aplicaciones móviles, tanto web como nativas, que deben funcionar en infinidad de dispositivos, sistemas operativos y navegadores. Ya no nos podemos limitar a realizar las pruebas desde un PC con un navegador estándar, pero, ¿Cómo poder garantizar que una aplicación funciona en todas las plataformas y dispositivos? La automatización de pruebas es una solución que permite ejecutar casos de prueba en las diferentes plataformas, ahorrando el esfuerzo manual de tener que repetir una y otra vez la misma prueba para cada entorno y dispositivo. Es posible, incluso, paralelizar la ejecución automática en varios dispositivos, de forma que un mismo caso de prueba se puede ejecutar simultáneamente en varias plataformas.
Por otra parte, el cloud testing ha supuesto una revolución en la forma de ofrecer los servicios y herramientas de pruebas. La mayoría de herramientas de automatización ya se ofrecen en modalidad de SaaS, y es posible utilizar la nube como plataforma de testing con una inversión inicial mínima y en régimen de pago por uso. Por ejemplo, podemos generar nuestros casos de test automáticos y subirlos a la nube para ejecutarlos únicamente cuando lo necesitemos, simulando el acceso desde distintos puntos geográficos o diferentes dispositivos. La nube ha permitido acercar potentes soluciones de testing a empresas de cualquier tamaño, ya no es necesario grandes desembolsos iníciales en infraestructura y licencias para utilizar las soluciones de automatización. Además, ya se está hablando de TaaaS (Test Automation as a Service) como un nuevo modelo para el suministro de servicios de automatización de pruebas de manera global.
A la hora de abordar un proceso de pruebas es importante tener en cuenta que la automatización no puede abordarse de cualquier forma. Iniciar la automatización de pruebas sin un plan específico, sin contar con recursos especializados y sin una metodología y procedimiento contrastados puede conducir al fracaso del proyecto. El camino hacia el éxito de la automatización se encuentra en contemplar esta actividad como una más dentro del plan general de aseguramiento de la calidad, realizar un plan de implementación realista y contar con el apoyo de la organización.
En este entorno, MTP ofrece un servicio integral de automatización que cubre las diferentes necesidades de nuestros clientes. Cubrimos las diferentes tecnologías y herramientas actuales del mercado, pero lo más importante es que en nuestros proyectos de automatización implementamos una metodología de automatización orientada a obtener el mayor retorno desde las primeras etapas del proyecto, priorizando los casos a automatizar en función de parámetros objetivos que permitan seleccionar aquellos casos más rentables de automatizar y aplicando una estrategia de automatización acelerada orientada a una alta productividad.
Nuestra estrategia se basa en la generación de un framework que nos permite disminuir los tiempos de diseño y mantenimiento. No nos limitamos a la automatización de pruebas de regresión, si no que utilizamos la automatización para dotar de mayor eficiencia y calidad a otras áreas. Por ejemplo, utilizamos la automatización para realizar extracciones de datos o generar datos válidos para poder suministrarlos a otras áreas, automatizamos procesos que por su complejidad o repetitividad son costosos de realizar o automatizamos la generación de informes. Para esta labor, MTP dispone de recursos especializados en automatización y de una metodología contrastada, así como de infraestructura ya generada en los diferentes proyectos realizados.
*Consultor de Calidad Software MTP International. Digital Business Assurance