Cuando la alta dirección de una empresa impulsa un proyecto de transformación digital dentro de una empresa genera un efecto netamente positivo. El sponsorship es fundamental para alcanzar los resultados deseados. Sin embargo, también producen un efecto secundario: una suerte de apremio por obtener resultados. En este sentido, la «pirámide de automatización» es una estrategia de testing muy valiosa para lograrlos.
Desde el punto de vista del desarrollo, esto representa para los responsables de QA (quality assurance, aseguramiento de la calidad) el desafío de automatizar las pruebas de la manera que sea. El objetivo es obtener resultados rápidos sin perder de vista la estrategia ni apresurarse a elegir herramientas que prometan fórmulas mágicas.
Casos que se rompen
Esto último es uno de los errores más comunes. El canto de sirenas de soluciones que, una vez implementadas y ya corriendo la carrera contra el tiempo, se muestran menos flexibles de lo que aseguraban ser. O no tienen comunidades de usuarios en las que consultar ante un problema.
Además, no funcionan con todos los aplicativos. Cambian frecuentemente de pantalla incrementando el tiempo de análisis de mantenimiento para entender si se trata de errores de software o de script. O tienen casos muy lentos o, que incluso, se rompen.
Cuando la empresa es grande, los aplicativos se cuentan de a cientos y el panorama tecnológico es variado, hay testers trabajando de manera manual y equipos de desarrollo subcontratado, la problemática se multiplica de manera exponencial.
Capa por capa
¿Es posible alcanzar un punto de equilibrio? Uno de los caminos más transitados en ese sentido es el de la “pirámide de automatización”: consiste en desarrollar una estrategia de testing por capas donde en la capa inferior se acumula el conjunto más grande y en la superior, el más pequeño.
Por lo tanto, la parte más amplia será la que ofrezca mayor velocidad y eficiencia en costos, variables que disminuyen a medida que se asciende en la pirámide.
Con este criterio, comenzando por la base se ubican los test automatizados unitarios: son los que brindan feedback muy específico y muy rápido. En el extremo superior se ubican los test de usuario, que repasan la aplicación completa de punta a punta a través de la interfaz del usuario.
Lo ideal es que haya muchos de los primeros y muy pocos de estos últimos, ya que son frágiles, propensos a errores y muy costosos de mantener.
El medio de la pirámide
En el medio de la pirámide, por su parte, se agrupan las pruebas que testean las funcionalidades y los servicios provistos por la aplicación por debajo de la interfaz del usuario.
Son más abarcativos que los unitarios (no se concentran en un componente aislado, sino que permiten implementar una funcionalidad del negocio) y más controlables que los de usuario. Por eso, resueltas la base y la punta, el esfuerzo debe concentrarse en este segmento.
En resumen, una buena estrategia de pirámide de automatización acelera la ejecución, entrega más estabilidad, incrementa la eficiencia en el análisis de errores y maximiza el ROI.
Podés ver la charla de Ariel Meter y David S. González en la última edición de ArgenTesting AQUÍ. Si te interesa conocer más acerca de nuestros servicios de testing, contactate con nosotros AQUÍ.