Skip to main content

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

  • Alston

Un marco de automatización de prueba es un conjunto de herramientas utilizadas para realizar pruebas de software automatizadas. Los marcos de automatización de pruebas proporcionan ventajas significativas sobre las pruebas manuales y se usan 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 prueba 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 prueba 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 realizada después de la implementación o codificación. Como tal, las pruebas ejecutadas por humanos fueron típicas.

Muchos equipos de desarrollo han reemplazado el modelo en cascada con varias metodologías ágiles de desarrollo de software, que generalmente requieren un desarrollo rápido e iterativo. El rápido desarrollo ha creado la necesidad de pruebas rápidas. Un marco de automatización de prueba 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 usa un marco de automatización de pruebas podría optar por ejecutar un conjunto completo de pruebas durante la noche, así como pequeños trozos de pruebas automatizadas durante todo el día a medida que se realizan cambios en la fuente código.

El tipo de marco más utilizado es el marco basado en código, que se utiliza para realizar pruebas de caja blanca. Los marcos basados ​​en 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 usan marcos basados ​​en código deben tener cuidado de escribir su software de manera comprobable, es decir, el código debe estar modularizado de modo que una prueba unitaria pueda llamar un fragmento de código y verificar el resultado. Estos marcos generalmente incluyen una implementación de xUnit, donde "x" varía según el lenguaje de programación que se está probando.

Los marcos de prueba guiados por 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 formados por scripts escritos por desarrolladores para ejercer una serie de funcionalidades, o pueden estar compuestos por 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 puede ser editado por un desarrollador en caso de cambios de 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 entradas como salidas. Los datos se pueden guardar en varias ubicaciones, como bases de datos, hojas de cálculo o archivos de texto. Los scripts se pueden escribir para ejecutar métodos de software tomando las entradas como parámetros y para validar el valor de retorno del método de software contra 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 proporcionada por estos marcos es la separación de datos y lógica, que a menudo conduce a un mantenimiento a largo plazo más bajo.