¿Qué es una herramienta de prueba automatizada?
Así como se prueba un producto físico para verificar si cumple con el comportamiento y las especificaciones deseadas, también se prueba el software. Las pruebas de software pueden ser realizadas manualmente por personas o mediante el uso de herramientas. Una herramienta de prueba automatizada es una pieza de software que se usa para probar el software objetivo, es decir, el software en consideración. Dicha herramienta ejecuta varias pruebas en el software de destino y determina si las pruebas se pasan con éxito.
El software debe probarse para garantizar que se generen resultados correctos, se acepten entradas válidas y se procesen correctamente, y que se rechacen las entradas inválidas. Las pruebas son necesarias para determinar si los resultados se generan rápidamente, el software funciona bien incluso si un gran número de personas accede a él simultáneamente, y así sucesivamente. Las pruebas manuales a menudo se usan, pero dependen de la minuciosidad de las personas que realizan las pruebas. Probar el software manualmente lleva tiempo y requiere un número significativo de personas para la mayoría de las aplicaciones no triviales, lo que aumenta el costo. Además, las pruebas para miles de usuarios simultáneos o grandes volúmenes de datos no pueden realizarse fácilmente de manera manual.
La automatización de pruebas es el uso de herramientas para probar el software. Una herramienta de prueba automatizada es en sí misma un software que podría desarrollarse, comprarse o adquirirse. La herramienta generalmente comienza a ejecutar el software de destino y pasa varias entradas al software de destino para probar diversas condiciones. Evalúa las salidas correspondientes del software de destino y realiza un seguimiento del resultado aprobado / reprobado de cada prueba. Al final de una serie de pruebas, la herramienta generalmente brinda un resumen de los resultados para que uno pueda determinar rápidamente el número y la gravedad de los defectos.
Una herramienta de prueba automatizada puede funcionar de dos maneras. En primer lugar, puede estar basado en código, es decir, la herramienta puede estar estrechamente relacionada con el código escrito para que verifique que los resultados de varias entradas sean correctos. En segundo lugar, puede basarse en una interfaz de usuario en la que se imitan las actividades de los usuarios, como los movimientos del mouse, las entradas del teclado, las entradas de voz, etc., y las salidas proporcionadas a los usuarios se examinan para verificar su corrección. En el último caso, las actividades reales de una persona podrían ser registradas y luego reproducidas por la herramienta, o tales actividades podrían generarse a partir de un script de comandos alimentados a la herramienta.
Las herramientas de prueba automatizadas de uso general están disponibles en el mercado. La mayoría son bastante caros, pero algunas herramientas están disponibles de forma gratuita. Si el software de destino es altamente específico o único, entonces una herramienta de prueba probablemente deba ser desarrollada a medida por ese equipo de software. Al igual que con todo el software, las herramientas en sí mismas tienen limitaciones y funcionan correctamente solo cuando se les dan buenos datos de entrada. Si uno no alimenta un conjunto relativamente completo de pruebas, la herramienta no ayudará a determinar la calidad del software objetivo.
Una herramienta de prueba automatizada tiene muchas ventajas. Una vez que se crea una serie de pruebas, las pruebas se pueden ejecutar más rápidamente de lo que una persona puede ejecutarlas. Las pruebas se pueden realizar durante la noche o en horas impares, dejando a las personas libres para concentrarse en lo que hacen mejor. Las pruebas se pueden ejecutar una y otra vez para determinar si los errores se han infiltrado en el software de destino a medida que se modifica con el tiempo.