Un script de prueba en las pruebas de software es un conjunto de instrucciones que se ejecutarán en el sistema bajo prueba para comprobar que el sistema funciona como se espera.
Existen varios métodos para ejecutar scripts de prueba. Estos dos últimos tipos también se utilizan en pruebas manuales.
Las pruebas automatizadas pueden ejecutarse de forma continua sin necesidad de intervención humana, son fácilmente repetibles y, a menudo, más rápidas. Las pruebas automatizadas son útiles en situaciones en las que la prueba se debe ejecutar varias veces, por ejemplo, como parte de una prueba de regresión . Las pruebas automatizadas pueden resultar desventajosas cuando están mal redactadas, lo que lleva a que se realicen pruebas incorrectas o defectuosas. [5]
Las pruebas automatizadas pueden, como cualquier pieza de software, estar mal escritas o simplemente romperse durante la reproducción. [6] También solo pueden examinar lo que han sido programados para examinar. Dado que la mayoría de los sistemas están diseñados teniendo en cuenta la interacción humana, es una buena práctica que un humano pruebe el sistema en algún momento. Un probador manual capacitado puede notar que el sistema bajo prueba se está comportando mal sin que se le solicite ni se le indique; las pruebas automatizadas solo pueden examinar lo que han sido programadas para examinar. Cuando se utilizan en pruebas de regresión, los probadores manuales pueden encontrar nuevos errores y al mismo tiempo garantizar que los errores antiguos no reaparezcan, mientras que una prueba automatizada solo puede garantizar esto último. A menudo se utilizan pruebas mixtas, con pruebas automatizadas y manuales; automatizando lo que necesita probarse con frecuencia y puede ser verificado fácilmente por una máquina, y utilizando pruebas manuales para hacer el diseño de pruebas y pruebas exploratorias .
Se debe considerar el retorno de la inversión para automatizar cualquier script de prueba, es decir, ¿el costo de crear y mantener ese script es menor que el costo de ejecutarlo manualmente? El costo se puede medir en términos de tiempo y/o dinero, pero también en términos del costo de oportunidad de no liberar a las personas para que hagan otro trabajo. [ cita requerida ]