Las pruebas automatizadas son una técnica de testing de software que permite a los QA en un principio consistía en escribir scripts de prueba que se ejecutan automáticamente, actualmente este proceso se realiza a través de un software determinado y estas pruebas verifican si el software funciona correctamente. Estas pruebas pueden ser utilizadas para garantizar que el código funcione correctamente, para detectar errores y para asegurar que las actualizaciones no rompan la funcionalidad existente.

En los últimos años se está dando mucha importancia a la palabra “automatizar”, que no significa que las labores serán única y exclusivamente de la máquina, sino que es la forma en la que aplicamos herramientas que permiten y mucho más en metodologías ágiles las cuales requieren una entrega y mejora continua del sistema de información que se esté desarrollando, por eso también se perfecciona la calidad del proceso, en este caso el de pruebas.

Foto de Daria Nepriakhina 🇺🇦 en Unsplash

Son importantes, al igual que las pruebas manuales, pero las pruebas automáticas nos traen más utilidades de mucha importancia que explicaré a continuación.

Reducir el coste de esfuerzo: En un equipo donde todos se enfoquen en las pruebas manuales, haría que el esfuerzo fuera mayor si todos se enfocaran a revisar no solo las funcionales nuevas, sino también que las que existen no sean afectadas por estas. El escenario ideal, donde la automatización es importante (no quiere decir que se vayan a suplantar los testers manuales), los testers vamos a comprobar cosas que se han detectado con los test manuales como por ejemplo pruebas de regresión ya conocidas para ejecutarlas automáticamente sin perder tiempo valioso, mientras nos enfocamos en probar las funcionalidades nuevas.

Eliminación de tareas repetitivas: No necesitamos probar una y mil veces, pero si podemos tener en el radar de nuestras pruebas que es lo más común en el sistema que puede fallar y monitorearlo con pruebas de regresión bien automatizadas.

Permite encontrar errores de regresión de forma más rápida y fiable: Sucede mucho cuando las nuevas características o mejoras contradicen una corrección olvidada o difícil de identificar, pero con la ayuda de los test de regresión encontramos fiabilidad en la búsqueda de esos “bichos” tan esquivos (Ver Paradoja del pesticida).

Se pueden reutilizar: Podemos ejecutarlas cuando deseemos y observar resultados, hacer análisis de ellos, también actualizar nuestras pruebas cuando nuevas características son añadidas y se relacionan entre sí, encontrar diferencias e informes de adaptabilidad en los diferentes dispositivos y tomar decisiones de acuerdo a posibles mejoras o incluso sugerir cambios que de otra forma el usuario final vería, pero con bastante esfuerzo.

Mejora la calidad del producto: El sistema estaría en una integración continua y despliegue continuo (CI/CD por sus siglas en inglés), que le permiten ser más estable y monitoreable.

Junto con las pruebas manuales permiten mejorar la calidad: A pesar de los constantes esfuerzos de pruebas manuales, que pueden ser realizados por los testers o desarrolladores en sus entornos, se pueden cometer errores. Pero las pruebas automatizadas pueden complementar las pruebas manuales en los casos donde hayan fallado en el propósito de encontrar errores.

Foto de Agence Olloweb en Unsplash

En síntesis, las pruebas automatizadas son una herramienta, esa “lupa“, que nos permite ver más allá de lo que podemos alcanzar, que por supuesto no es el reemplazo de nuestra vista curiosa, es una utilidad más dentro del mundo del testing. ¡Calma muchachos que este “bot” no acabará con los testers humanos!.

¿Has implementado pruebas automatizadas, que herramientas conoces?