¿Qué es un marco de automatización de prueba?

Un marco de automatización de pruebas es un conjunto de herramientas que se utilizan para realizar pruebas de software automatizadas. Los marcos de automatización de pruebas brindan ventajas significativas sobre las pruebas manuales y se utilizan comúnmente en el desarrollo rápido de software. Estos marcos permiten a los desarrolladores de software crear pruebas, ejecutar pruebas y analizar los resultados de las pruebas. Un marco de automatización de pruebas puede estar impulsado por código, datos, una interfaz gráfica de usuario (GUI) o una combinación de estos.

Se requieren marcos de automatización de pruebas para satisfacer las necesidades del desarrollo rápido de software. En el ciclo de vida clásico del desarrollo de software en cascada, las pruebas de software eran una fase discreta que se realizaba después de la implementación o la codificación. Como tal, las pruebas ejecutadas por humanos eran típicas.

Muchos equipos de desarrollo han reemplazado el modelo en cascada con varias metodologías de desarrollo de software ágiles, que normalmente requieren un desarrollo rápido e iterativo. El rápido desarrollo ha creado la necesidad de realizar pruebas rápidas. Un marco de automatización de pruebas permite que un equipo de software realice pruebas frecuentes y automatizadas en una base de código. Por ejemplo, en lugar de requerir una fase de prueba separada después del desarrollo, un equipo que utiliza un marco de automatización de pruebas puede optar por ejecutar un conjunto completo de pruebas durante la noche, así como porciones más pequeñas de pruebas automatizadas a lo largo del día a medida que se realizan cambios en la fuente. código.

El tipo de marco más utilizado es el marco controlado por código, que se utiliza para realizar pruebas de caja blanca. Los marcos controlados por código requieren que los desarrolladores escriban pequeños fragmentos de código, en forma de pruebas unitarias, para probar la funcionalidad o el rendimiento del software. Los desarrolladores que utilizan frameworks controlados por código deben tener cuidado de escribir su software de una manera que sea comprobable, es decir, el código debe modularizarse de manera que una prueba unitaria pueda llamar a un fragmento de código y verificar el resultado. Estos marcos suelen incluir una implementación de xUnit, donde «x» varía según el lenguaje de programación que se está probando.

Los marcos de prueba basados ​​en GUI se utilizan para realizar pruebas de caja negra, utilizando una herramienta de software como lo haría un usuario, a través de entradas de mouse y teclado. Pueden estar compuestos de scripts escritos por desarrolladores para ejercitar una serie de funcionalidades, o pueden estar compuestos de scripts generados por herramientas, como scripts de grabación y reproducción. Un posible inconveniente de estos marcos es que el script se romperá cada vez que cambie la GUI. Algunos marcos de automatización de GUI pueden generar un script que un desarrollador puede editar en caso de cambios en la GUI, y otros pueden requerir que el usuario cree una nueva sesión de grabación y reproducción.

Los marcos de prueba basados ​​en datos realizan pruebas de software utilizando datos, y estas pruebas generalmente funcionan con tablas de datos que especifican tanto las entradas como las salidas. Los datos se pueden guardar en varias ubicaciones, como bases de datos, hojas de cálculo o archivos de texto. Se pueden escribir scripts para ejecutar métodos de software tomando las entradas como parámetros y para validar el valor de retorno del método de software con la salida. Cualquier otra cosa que se pueda variar, como el entorno en el que se ejecuta la prueba, también se puede almacenar con los datos y separar del script de prueba. Una ventaja que ofrecen estos marcos es la separación de datos y lógica, que a menudo conduce a un menor mantenimiento a largo plazo.