La prueba funcional automatizada es el término utilizado para describir el proceso de creación de scripts de prueba automatizados a partir de pruebas funcionales manuales para aplicaciones de software. Pruebas funcionales en el proceso mediante el cual se evalúa el software para garantizar que cumpla con todos los requisitos especificados. Este procedimiento de prueba normalmente se logra utilizando software que está diseñado para capturar y monitorear las pruebas de software. Antes del desarrollo del enfoque de pruebas funcionales automatizadas, los desarrolladores de software confiaban en las pruebas humanas de las aplicaciones de software.
El enfoque de prueba manual tiene riesgos y costos inherentes asociados, ya que depende de los humanos para verificar la validez de la funcionalidad dentro de una aplicación. Además, la mayoría de las aplicaciones de software tienen una vida útil prolongada que requerirá la inserción de varios parches de software en el sistema operativo subyacente. Al tener un proceso de prueba funcional automatizado, los propietarios de aplicaciones de software pueden estar seguros de que las pruebas de regresión se pueden completar de una manera más rentable con menos errores.
El enfoque de pruebas funcionales automatizadas no es una idea nueva, ya que se creó con la primera aplicación de software. En el pasado, esta prueba fue realizada por los desarrolladores que crearon la aplicación. Hoy en día, las pruebas funcionales automatizadas están diseñadas, desarrolladas y probadas por ingenieros de pruebas con un conjunto de habilidades que se especializan en pruebas. Este cambio de paradigma ha asegurado que el desarrollador de una aplicación sea verificado por un proceso de verificación y validación independiente para garantizar que los requisitos funcionales de una aplicación de software sean completos y precisos.
Uno de los beneficios clave de este enfoque de prueba es que permite la reutilización de un programa de prueba. Durante la creación de una prueba automatizada, los ingenieros de pruebas crean scripts que completan la prueba funcional deseada. Esta programación de pruebas permite que las pruebas futuras de la aplicación y los resultados de esas pruebas se entreguen de manera automatizada a los gerentes de la organización del software. Cada prueba se crea como una unidad de trabajo individual y se encadena para crear un conjunto de pruebas completo de una aplicación de software. Los resultados de estas pruebas se resumen y se entregan a los administradores de software de manera sólida para permitir una validación más en tiempo real del esfuerzo de desarrollo del sistema en curso.
Las pruebas funcionales automatizadas no pueden reproducir la lógica detrás del pensamiento humano para concebir pruebas y evaluar la satisfacción general de un producto. Sin embargo, se puede utilizar para probar procedimientos o controles repetitivos dentro de una aplicación de software. Aunque esta no es la panacea para todas las pruebas, una buena combinación de pruebas unitarias, pruebas de integración y pruebas funcionales automatizadas asegura un enfoque más elegante para el desarrollo de aplicaciones de software en su conjunto.