Un script de prueba en las pruebas de software es un conjunto de instrucciones que se ejecutarán en el sistema bajo prueba para probar que el sistema funciona como se espera.
Hay varios medios para ejecutar scripts de prueba.
- Prueba manual . [1] [2] Estos se denominan más comúnmente casos de prueba .
- Pruebas automatizadas .
- Programa corto escrito en un lenguaje de programación utilizado para probar parte de la funcionalidad de un sistema de software. Los scripts de prueba escritos como un programa corto pueden escribirse utilizando una herramienta de prueba de GUI funcional automatizada especial (como HP QuickTest Professional , Borland SilkTest , IBM TPNS y Rational Robot ) o en un lenguaje de programación conocido (como C ++ , C # , Tcl , Expect , Java , PHP , Perl , Powershell , Python o Ruby). Como se documenta en IEEE, ISO e IEC. [3] [4]
- Programas cortos extensamente parametrizados, también conocidos como pruebas basadas en datos
- Pasos reutilizables creados en una tabla, también conocidos como pruebas basadas en palabras clave o basadas en tablas .
Estos dos últimos tipos también se realizan en pruebas manuales.
Las pruebas automatizadas son ventajosas por varias razones: las pruebas se pueden ejecutar 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 debe ejecutarse varias veces, por ejemplo, como parte de una prueba de regresión . Las pruebas automatizadas pueden ser desventajosas cuando están mal escritas, lo que lleva a que se realicen pruebas incorrectas o que no se realicen pruebas.
Las desventajas de las pruebas automatizadas son que las pruebas automatizadas pueden, como cualquier pieza de software, estar mal escritas o simplemente romperse durante la reproducción. También pueden examinar únicamente aquello para lo que han sido programados. 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 ser 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 o se le indique; Las pruebas automatizadas solo pueden examinar aquello para lo que han sido programadas. Cuando se usa en pruebas de regresión, los probadores manuales pueden encontrar nuevos errores al mismo tiempo que se aseguran de que los errores antiguos no vuelvan a aparecer, mientras que una prueba automatizada solo puede garantizar los últimos. A menudo se utilizan pruebas mixtas, con pruebas automáticas y manuales; automatizar lo que se debe probar con frecuencia y que una máquina puede verificar fácilmente, y usar pruebas manuales para realizar el diseño de prueba y las pruebas exploratorias .
Uno debe considerar el retorno de la inversión para automatizar cualquier script de prueba dado, es decir, si el costo de construir y mantener ese script cuesta menos de lo que costaría simplemente ejecutarlo manualmente. Donde el costo puede medirse en términos de tiempo y / o dinero, pero también el costo de oportunidad de no liberar a las personas para hacer otro trabajo. [ cita requerida ]
Ver también
Referencias
- ^ "Ayuda - IBM Rational Software" . jazz.net . Consultado el 12 de septiembre de 2018 .
- ^ Kaner, Cem (2003). "Desafíos fundamentales en las pruebas de software" (PDF) . Florida Tech. pag. 35 . Consultado el 12 de septiembre de 2018 .
- ^ "BS 7925-1" . testingstandards.co.uk . Consultado el 12 de septiembre de 2018 .
- ^ "Estándar de prueba de software ISO / IEC / IEEE 29119" . softwaretestingstandard.org . Consultado el 12 de septiembre de 2018 .