¿Qué son las pruebas de software automatizadas?
El software se prueba para confirmar que todas las entradas válidas se interpretan y ejecutan correctamente, mientras que las entradas incorrectas se descartan. Las pruebas también verifican que los resultados se generan de manera eficiente, y que un gran volumen de datos se puede manejar sin problemas. Las pruebas se pueden realizar de forma manual o electrónica. Las pruebas de software automatizadas implican el uso de software especializado para probar el código que está en desarrollo. Dichas pruebas benefician al proceso de desarrollo de software, cuando se aplica juiciosamente.
Las pruebas manuales dependen de la meticulosidad de las personas que realizan las pruebas. La prueba de software manual lleva mucho tiempo y necesita una relación significativa de los probadores para los desarrolladores para la mayoría de las aplicaciones. Esto aumenta el costo del desarrollo. Además, las pruebas manuales tienen la limitación de que las grandes cantidades de datos, o grandes cantidades de usuarios o entradas simultáneas, no pueden probarse fácilmente.
Las pruebas de software automatizadas controla programáticamente la ejecución de la prueba y la evaluación de la salida.El software de prueba proporciona entradas, que corresponden a diferentes condiciones, al software que se está evaluando. Para cada conjunto de condiciones, el software de prueba compara los resultados reales con los resultados deseados y mantiene estadísticas sobre el comportamiento agregado del software objetivo. Después de una "ejecución", el software de prueba generalmente proporciona resultados resumidos para que las personas puedan determinar rápidamente qué remediar.
En las pruebas de software automatizadas, se mecanizan las tareas tediosas involucradas en las pruebas, como iniciar sesión o ingresar datos como direcciones postales. Se pueden probar grandes combinaciones de condiciones en cada ejecución. Dado que las pruebas automatizadas implican el uso de computadoras y software, también permite la simulación de grandes cargas de datos de entrada o entradas extremadamente rápidas. Cada ejecución de una serie de condiciones de prueba se puede completar en cuestión de horas. Por lo tanto, las pruebas automatizadas son muy útiles para RLas pruebas de salida, que asegura que una nueva característica o corrección de errores no rompiera inadvertidamente el código de trabajo previamente.
Algunas metodologías de desarrollo recientes, como la programación extrema, enfatizan que las pruebas están disponibles antes de la codificación. Las metodologías de desarrollo enfatizan que las pruebas de regresión se llevan a cabo varias veces al día para garantizar la corrección del software a medida que se desarrolla. Si el equipo de software tiene que adherirse a esta metodología para cualquier software significativo, se vuelve obligatorio que se utilicen pruebas de software automatizadas.
El software de prueba de automatización debe alimentarse con las entradas y salidas deseadas. Una forma de hacerlo es almacenar condiciones de prueba manual en el software. Otra forma es escribir código para generar diversas condiciones, dentro de los límites aceptables del software que se evaluará. Por lo tanto, la base de las pruebas de software automatizadas es definitivamente un esfuerzo humano. El software de prueba automatizado no puede ir más allá de esto por sí solo.
Las pruebas de software automatizadas tienenUn costo significativo en términos del software que también se adquirirá en su uso. Entonces, si automatizar y qué parte de la prueba para automatizar son decisiones clave. Las pruebas automatizadas no son apropiadas para características y entornos que se espera que cambien significativamente. En la mayoría de las aplicaciones, una combinación de pruebas manuales y automatizadas es adecuada.