Automatización: ¿Cuándo implementarla?

Actualmente, en el negocio software, es muy corriente (o al menos cada vez más) la implementación de metodologías ágiles que nos permiten implantar en un proyecto un ciclo de vida iterativo frente a un ciclo de vida en cascada. En el mundo del Testing, cuando se escucha la palabra ágil, podemos ligarla inmediatamente a todo lo referente a automatizar, porque nos parece lógico que si, por ejemplo, sabemos que existen ciclos de prueba repetitivos… ¿Por qué no automatizarlos? Pues sí, la automatización de pruebas agiliza, mejora tiempos de ejecución, tiempos de entrega etc…pero ¿Cuándo y qué debemos automatizar? Comenzaremos respondiendo a la primera pregunta: ¿Cuándo podríamos plantearnos automatizar? Bien, podríamos comenzar a ello cuando tenemos un aplicativo en dónde los cambios no son muy frecuentes, es decir, necesitamos una cierta estabilidad en el entorno. Por ejemplo, los cambios de interfaz podrían hacer fallar la prueba automática, debido a esto, se recomienda automatizar en primer lugar otras partes más estables de la aplicación, como sería el núcleo de la misma (aunque esto no significa que no se puedan automatizar las pruebas de interfaz). Otro aspecto a tener en cuenta e esta fase es la duración del proyecto. Si un proyecto tiene un plazo muy corto para su implementación, o bien el testing depende de la observación humana o simplemente requiere una única ejecución. En estos casos, lo más recomendable es no automatizar y optar por ciclos de prueba manuales, porque además, una de las cosas a tener presentes, es que la automatización de pruebas no es la eliminación del testing manual, éste debe existir e implantarse en proyectos dónde, por características como las descritas anteriormente, sea necesario recurrir a él. Y ahora llegamos al punto de… ¿Qué testing automatizado se puede realizar? Pues bien, es factible la automatización en testing unitario, funcional, de regresión (mantenimiento, migraciones, smoke test, etc), el testing de WebServices, el de integración y el de performance, carga o estrés. La ejecución de pruebas automatizadas en los casos anteriormente descritos, además, nos proporciona beneficios como una mayor cobertura en casos de prueba, la reutilización de los mismos, eficiencia en los procesos y como ya se mencionó anteriormente, una mejora en tiempos de entrega y ejecución. Además de obtener ventajas adicionales en la reducción del tiempo y esfuerzo en las pruebas y por tanto, la calidad de las mismas. Llegados a este punto, el usuario se puede estar preguntado: bien, y… ¿qué herramientas me proporcionan un entorno idóneo para comenzar a automatizar mis pruebas? Desde Globe, por estabilidad y cobertura te recomendamos:

  •  UFT (Unified Functional Testing): Hace que tus pruebas automatizadas sean más eficientes a la vez que ayuda a los desarrolladores y responsables de pruebas a colaborar (algo muy beneficioso, y que cada vez se instaura más gracias a la filosofía Devops). Esta herramienta nos permite la importación de activos de pruebas manuales como grabaciones convirtiendo en activos de automatización de pruebas reutilizables para pruebas de regresión e integración.
  • Mobile Center: En la actualidad, nuestras aplicaciones no sólo las tenemos disponibles en nuestro ordenador portátil o de sobremesa, sino que también disponemos de gran variedad de aplicaciones móviles, que requieren de su ciclo de pruebas correspondiente. Para ello, Mobile Center nos facilita este proceso pudiendo probar de forma inmediata las aplicaciones móviles en dispositivos reales.

ImagenPOST Por último, queremos hacer mención a una herramienta de Micro Focus integrada con Micro Focus ALM (aunque también puede funcionar de forma independiente) que ayuda mucho al tester en sus sesiones de testing exploratorio. Se trata de:

  • Sprinter: Nos permite grabar las acciones realizadas sobre una página web o un cliente para posteriormente ejecutar la prueba de forma automática. Sprinter nos ofrece grandes ventajas como la inserción de datos automáticamente en formularios, realización de capturas de pantalla de cada acción, etc. Pero una de sus mejores ventajas es la posibilidad de ejecutar el mismo caso de prueba en varios equipos con diferentes combinaciones de Sistema Operativo + Navegador de forma simultánea, comparando los resultados inmediatos con el sistema de referencia y avisando si existen diferencias.

¿Conoces Globe Testing?

¡Descubre como mejorar tu software!