La automatización de las pruebas consiste en el uso de herramientas de software para controlar y configurar las condiciones previas a las pruebas, para ejecutar las pruebas y para comparar los resultados reales contra los resultados esperados.

¿En qué nos ayuda la automatización de las pruebas, y cuáles son sus beneficios?

La automatización de las pruebas de software nos permitirá lograr una mayor cobertura.

Pensemos por ejemplo que se han solicitado cambios a un 5% de las funcionalidades del sistema, cuando este 5% de las funcionalidades son modificadas, los testers necesitamos hacer pruebas a ese 5% modificado y aún necesitamos ejecutar el 100% de las pruebas restantes para asegurarnos que no hubo introducción de nuevos errores y que las funcionalidades existentes siguen trabajando como se espera y no hayan sido modificadas por error.
Podemos ver que este esfuerzo crece a medida que va creciendo el sistema pudiendo llegar a ser insostenible o demasiado costoso.

Las pruebas automatizadas permiten ejecutar suites de regresión que de otra forma sería muy difícil de lograr.

Los casos de pruebas automatizados pueden ser acumulados durante toda la vida de la aplicación para que de esta forma tanto las características existentes como las nuevas puedan siempre ser probadas.

Reduce tiempos de pruebas

La automatización ayuda a reducir el tiempo de pruebas al permitir que, una vez creados los scripts de automatización, su ejecución puede ocurrir 24h los 7 días de la semana de ser necesario, sin que estemos los testers presentes y sin ningún otro costo adicional.

Permite realizar cross-browser testing (es decir testing a través de los navegadores) con las mismas líneas de código, que de forma manual nos tomaría mucho más tiempo al tener que probar los mismos casos de pruebas en varias combinaciones de sistemas operativos, navegadores y teléfonos celulares.

Al reducir el tiempo, esto nos lleva a la Reducción de los costos de software a largo plazo, en este punto es importante aclarar que la implementación de pruebas automatizadas sí requiere un gran esfuerzo principalmente al inicio.

La automatización también nos permite ser consistentes ya que los casos de pruebas se ejecutan siempre de la misma forma, siguiendo los mismos pasos.